Skip to content
Snippets Groups Projects
Commit f84427a7 authored by W. Spencer Smith's avatar W. Spencer Smith
Browse files

Review for final lecture updates

parent e14cf50b
No related branches found
No related tags found
No related merge requests found
......@@ -608,7 +608,7 @@ View all of these as complementary
\begin{itemize}
\item Worst case analysis versus average behaviour
\item For worst case focus on proving that the system response time is bounded
\item For worst case, focus on proving that the system response time is bounded
by some function of the external requests
\item Standard deviation
\item Analytical versus experimental approaches
......
No preview for this file type
......@@ -29,7 +29,7 @@
\mode<presentation>{}
\input{../def-beamer}
\Drafttrue
\Draftfalse
\newcommand{\topicTitle}{36 Review for Final}
\ifDraft
......@@ -55,13 +55,14 @@
\begin{itemize}
\item Administrative details
\item Verifying nonfunctional properties (qualities)
\item Topics on the exam
\item Structure of the exam
\item Advice on exam preparation
\begin{itemize}
\item Time management before the exam
\item Time management during the exam
\item How to study
%\item How to study
\item Sample questions
\end{itemize}
\item Advice to improve 2me3/2aa4
......@@ -81,17 +82,22 @@ TBD
{
\begin{itemize}
\item A4: {Due April 5 (Today) at 11:59 pm}
\item A4: Due April 9 at 11:59 pm (tonight)
\item A3 sample solution pushed to repo
\item Grading should be done before exam
\item Course evaluations
\bi
\item CS 2ME3: 66\%
\item SE 2AA4: 67\%
\item \href{https://evals.mcmaster.ca/login.php}{https://evals.mcmaster.ca/}
\item Closes: 11:59 pm, Monday, April 10
\item \href{https://evals.mcmaster.ca}{https://evals.mcmaster.ca}
\item Start: Tues, Mar 27, 10:00 am
\item Close: Tues, Apr 10, 11:59 pm
\item {Your participation is highly valued}
\item {Grade bonus for class participation}
\bi
\item CS 2ME3 C02: 70\%
\item CS 2ME3 C01: 48\%
\item SE 2AA4 C01: 58\%
\ei
\ei
\end{itemize}
......@@ -102,13 +108,137 @@ TBD
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Verifying Performance}
\structure{How might you measure/assess performance?}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Verifying Performance}
\begin{itemize}
\item Worst case analysis versus average behaviour
\item For worst case, focus on proving that the system response time is bounded
by some function of the external requests
\item Standard deviation
\item Analytical versus experimental approaches
\item Consider verifying the performance of a pacemaker
\item Visualize performance via
\bi
\item Identify a measure of performance (time, storage, FLOPS, accuracy, etc.)
\item Identify an independent variable (problem size, number of processors,
condition number, etc.)
\ei
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Verifying Reliability}
\begin{itemize}
\item There are approaches to measuring reliability on a probabilistic basis, as
in other engineering fields
\item Unfortunately there are some difficulties with this approach
\item Independence of failures does not hold for software
\item Reliability is concerned with measuring the probability of the occurrence
of failure
\item Meaningful parameters include
\begin{itemize}
\item Average total number of failures observed at time $t$: $AF(t)$
\item Failure intensity: $FI(T)=AF'(t)$
\item Mean time to failure at time $t$: $MTTF(t) = 1/FI(t)$
\end{itemize}
\item Time in the model can be execution or clock or calendar time
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Verifying Subjective Qualities}
\begin{itemize}
\item \structure{What do you think is meant by empirical software engineering?}
\item \structure{What problems might be studied by empirical software
engineering?}
\item \structure{Does the usual engineering analogy hold for empirical software
engineering?}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Verifying Subjective Qualities}
\begin{itemize}
\item Consider notions like simplicity, reusability, understandability …
\item Software science (due to Halstead) has been an attempt
\item Tries to measure some software qualities, such as
abstraction level, effort, …
\item by measuring some quantities on code, such as
\bi
\item $\eta_1$, number of distinct operators in the program
\item $\eta_2$, number of distinct operands in the program
\item $N_1$, number of occurrences of operators in the program
\item $N_2$, number of occurrences of operands in the program
\ei
\item Extract information from repo, including number of commits, issues etc.
\item Empirical software engineering
\item Appropriate analogy switches from engineering to medicine
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Source Code Metric}
\begin{itemize}
\item \structure{What are the consequences of complex code?}
\item \structure{How might you measure code complexity?}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{McCabe's Source Code Metric}
\begin{itemize}
\item Cyclomatic complexity of the control graph
\bi
\item $C = e - n + 2 p$
\item $e$ is number of edges, $n$ is number of nodes, and $p$ is number of
connected components
\ei
\item McCabe contends that well-structured modules have $C$ in range $3 .. 7$,
and $C = 10$ is a reasonable upper limit for the complexity of a single module
\item Confirmed by empirical evidence
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Topics on the Final Exam}
\begin{itemize}
\item All of them :-)
\item From ``introduction to software engineering'' to ``design patterns''
\item From ``introduction to software engineering'' to ``review for final''
\item Greater emphasis on the material since the midterm, especially
\begin{itemize}
\item Specification
......@@ -126,11 +256,17 @@ TBD
\begin{itemize}
\item Multiple choice (45 questions)
\item First pages of exam
\item Exam material emphasis will be similar to lecture material emphasis
\item Multiple choice (30 questions)
\bi
\item Some questions will be True/False
\item Similar to midterm
\item Exam material emphasis will be similar to lecture material emphasis
\ei
\item Short answer (5 questions - 23 marks, 2 mark bonus)
\bi
\item Answer in the space provided
\ei
\end{itemize}
\end{frame}
......@@ -151,7 +287,7 @@ TBD
\end{itemize}
\item Time management during the exam
\begin{itemize}
\item You have an average of 150/45 = 3.3333 minutes per question (Midterm was
\item You have an average of 150/53 = 2.8 minutes per mark (Midterm was
3.0 minutes per question)
\item Some questions will take longer, some much less time
\item Leave nothing blank
......@@ -167,46 +303,27 @@ TBD
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Riddles}
\bi
\item \structure<1>{What belongs to you but others use it more than you do?}
\bi
\item \uncover<2->{Your name}
\ei
\item \uncover<3->{\structure<3>{Jeopardy answer: ``Archibald Leach, Bernard Schwartz and
Lucille LeSueur.'' What is the question?}}
\bi
\item \uncover<4->{Who are three people who have never been in my kitchen?}
\ei
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{How to Study?}
\begin{itemize}
\item See posting on Avenue
\item Better if an active, rather than a passive, process
\item Do questions
\begin{itemize}
\item From midterm, assignments
\item From the textbook
\item From other books
\item Make up your own
\begin{itemize}
\item MIS for an ADT that you have studied
\item MIS for 2C03 assignments?
\item Post questions to Avenue
\end{itemize}
\end{itemize}
\end{itemize}
\end{frame}
% \begin{frame}
% \frametitle{How to Study?}
% \begin{itemize}
% \item See posting on Avenue
% \item Better if an active, rather than a passive, process
% \item Do questions
% \begin{itemize}
% \item From midterm, assignments
% \item From the textbook
% \item From other books
% \item Make up your own
% \begin{itemize}
% \item MIS for an ADT that you have studied
% \item MIS for 2C03 assignments?
% \item Post questions to Avenue
% \end{itemize}
% \end{itemize}
% \end{itemize}
% \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -344,9 +461,10 @@ def maxOfThreeNum(x1, x2, x3):
\ei
\item Technology to cover/emphasize/de-emphasize?
\bi
\item Doxygen? Javadoc?
\item Doxygen?
\item Continuous integration?
\item Make?
\item Debugging? (Valgrind?)
\ei
\item Programming language(s)
\bi
......@@ -367,9 +485,14 @@ def maxOfThreeNum(x1, x2, x3):
\begin{itemize}
\item Discontinue open book for tests?
\item Sequence of assignments?
\item Improving lecture attendance?
\item Improving Avenue participation?
\bi
\item More questions
\item More people answering questions
\ei
\item Part 2 of assignments?
\item Other thoughts/ideas?
\end{itemize}
......
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment