diff --git a/Lectures/L04_ReqContinued/ReqContinued.pdf b/Lectures/L04_ReqContinued/ReqContinued.pdf
index 614f3c2ff31630fb788be99889c535dfc77ae60c..9c75a68676008aab9391d82692221ce2339a9dad 100644
Binary files a/Lectures/L04_ReqContinued/ReqContinued.pdf and b/Lectures/L04_ReqContinued/ReqContinued.pdf differ
diff --git a/Lectures/L04_ReqContinued/ReqContinued.tex b/Lectures/L04_ReqContinued/ReqContinued.tex
index f0933c4446fd43dbe0da8f69448d8da8e4698393..0d065f47f9d5ceb65d431c5b283e7bc9d420cab4 100755
--- a/Lectures/L04_ReqContinued/ReqContinued.tex
+++ b/Lectures/L04_ReqContinued/ReqContinued.tex
@@ -50,7 +50,7 @@
 \bi
 \item Administrative details
 \item Questions?
-\item Goal statment examples
+\item Goal statement examples
 \item Requirements documentation for scientific computing
 \item A new requirements template
 \item Advantages of new template and examples
@@ -123,7 +123,7 @@ Final Doc & Week 14 & Dec 10\\
 \item MG Present
 \bi
 \item Wednesday: Karol, Malavika, Robert, Quirui, Jian, Hanane
-\item Friday: Vajiheh, Olu, Jennifer, Yang, Brooks
+\item Friday: Brooks, Vajiheh, Olu, Jennifer, Yang
 \ei
 \item MIS Present
 \bi
@@ -304,7 +304,7 @@ the tolerable probability of breakage, the goal statements are:
 programs}}
 \item etc.
 \end{itemize}
-\item Many people develop ``from scratch''
+\item Many people unnecessarily develop ``from scratch''~\cite{Dubois2002}
 \item Cannot easily reproduce the work of others
 \item Neglect of simple software development technology~\cite{Wilson2006} 
 % such as version control software
@@ -415,8 +415,10 @@ programs}}
 \begin{frame}
 \frametitle{Software Requirements Activities}
 \begin{itemize}
-\item A software requirement is a description of how the system should behave, or of a system property or attribute
-\item Requirements should be unambiguous, complete, consistent, modifiable, verifiable and traceable
+\item A software requirement is a description of how the system should behave,
+  or of a system property or attribute
+\item Requirements should be abstract, unambiguous, complete, consistent,
+  modifiable, verifiable and traceable
 \item Requirements should express ``What'' not ``How''
 \item Formal versus informal specification
 \item Functional versus nonfunctional requirements
@@ -590,7 +592,7 @@ $\land ChangeOnly(ErrorMsg)$ & \\
 \item Speed efficiency versus accuracy
 \end{itemize}
 \item Tolerance allowed for solution: $|\sum{F_{xi}}| / \sqrt{\sum{F_{xi}}^2} \le \epsilon$
-\item Solution validation strategies
+\item Solution validation strategies (now in a separate document)
 \item List of possible changes in requirements
 \end{itemize}
 \end{frame}
@@ -714,7 +716,7 @@ PS1.a & $L$ &  & &... & &...  & & & $\surd$  & ... & & ... & ... \\
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \frame{\frametitle{Why a New Template?}
-From \cite{SmithAndLai2005}
+From \cite{SmithAndLai2005, Lai2004}
 \begin{enumerate}%[<+-| alert@+>]%[iacolor=gray]
 %\item Reasons for a new template also form principles for its design
 \item One user viewpoint for the physical model
@@ -789,7 +791,7 @@ c) Non-functional Requirements}
 \item Accuracy of input data
 \item Sensitivity of the model
 \item Tolerance of the solution
-\item Solution validation strategies
+\item Solution validation strategies (now moved to a separate document)
 \end{itemize}
 
 \end{itemize}
diff --git a/Lectures/L05_ProgramFamilies/ProgramFamilies.pdf b/Lectures/L05_ProgramFamilies/ProgramFamilies.pdf
index 6fc7c913ae2ba61968fb4cba7c42a2b2fa27fd39..de60c854c50b18e6c3ed39899aab0f61dab27b43 100644
Binary files a/Lectures/L05_ProgramFamilies/ProgramFamilies.pdf and b/Lectures/L05_ProgramFamilies/ProgramFamilies.pdf differ
diff --git a/Lectures/L05_ProgramFamilies/ProgramFamilies.tex b/Lectures/L05_ProgramFamilies/ProgramFamilies.tex
index 700d305c30492bfea0d9d5c6b681011d118df21b..8e0b35dd32ec8b8ff5ca82e020059c55ea966f20 100755
--- a/Lectures/L05_ProgramFamilies/ProgramFamilies.tex
+++ b/Lectures/L05_ProgramFamilies/ProgramFamilies.tex
@@ -62,6 +62,7 @@
 \bi
 \item Administrative details
 \item Questions?
+\item Finish up on SRS
 \item Specification Qualities
 \item Motivation
 \item Proposed Family Methods
@@ -165,6 +166,225 @@ Final Documentation & Week 13 & Dec 6\\
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+\frame{\frametitle{More on the Template}
+\begin{itemize}%[<+-| alert@+>]%[iacolor=gray]
+\item Why a new template?
+\item The new template
+\begin{itemize}
+\item Overview of changes from existing templates
+\item Goal $\rightarrow$ Theoretical Model $\rightarrow$ Instanced Model hierarchy
+\item Traceability matrix
+\item System behaviour, including input constraints
+\end{itemize}
+\end{itemize}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\frame{\frametitle{Why a New Template?}
+From \cite{SmithAndLai2005, Lai2004}
+\begin{enumerate}%[<+-| alert@+>]%[iacolor=gray]
+%\item Reasons for a new template also form principles for its design
+\item One user viewpoint for the physical model
+\item Assumptions distinguish models
+\item High potential for reuse of functional requirements
+\item Characteristic hierarchical nature facilitates change
+\item Continuous mathematics presents a challenge
+\end{enumerate}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\frame{\frametitle{Overview of the New Template}
+
+\begin{itemize}
+
+\item{Reference Material}
+
+\item{Introduction:} 
+{a) Purpose of the Document}
+{b) Scope of the Software Product}
+{c) Organization of the Document}
+
+\item General System Description:
+{a) System Context}
+{b) User Characteristics}
+{c) System Constraints}
+
+\item \structure<2->{Specific System Description:
+a) Problem Description 
+b) Solution Characteristics Specification
+c) Non-functional Requirements}
+
+\item{Other System Issues}
+
+\item \structure<2->{Traceability Matrix}
+
+\item List of Possible Changes in the Requirements
+
+\item{Values of Auxiliary Constants}
+
+\item{References}
+
+\end{itemize}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Excerpts from Specific System Description}
+
+\begin{itemize}
+
+\item Problem Description
+\begin{itemize}
+\item Physical system description (\textbf{PS}) 
+\item Goals (\textbf{G})
+\end{itemize}
+ 
+\item Solution Characteristics Specification
+\begin{itemize}
+\item Assumptions (\textbf{A})
+\item Theoretical models (\textbf{T})
+\item Data definitions
+\item Instanced models (\textbf{M})
+\item Data constraints
+\item System behaviour
+\end{itemize}
+
+\item Non-functional Requirements
+\begin{itemize}
+\item Accuracy of input data
+\item Sensitivity of the model
+\item Tolerance of the solution
+\item Solution validation strategies (now moved to a separate document)
+\end{itemize}
+
+\end{itemize}
+
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Refinement from Abstract to Concrete}
+
+\begin{overlayarea}{\textwidth}{5.3cm}
+\begin{figure}[H]
+\includegraphics<1>[scale=0.41]{../Figures/RefinementHierarchy.pdf}
+\includegraphics<2>[scale=0.41]{../Figures/RefinementG1.pdf}
+\includegraphics<3>[scale=0.41]{../Figures/RefinementT11.pdf}
+\includegraphics<4>[scale=0.41]{../Figures/RefinementM111.pdf}
+\includegraphics<5>[scale=0.41]{../Figures/RefinementT12.pdf}
+\end{figure}
+\end{overlayarea}
+
+\begin{overlayarea}{\textwidth}{1cm}
+
+\only<2>{\textbf{G1}: Solve for unknown forces}
+
+\only<3>{
+\begin{center} 
+$%\begin{displaymath}
+\mathbf{(T1_1)}~\left\{ 
+\begin{array}{lll}
+\textrm{$\sum{F_{xi}} = 0$}\\  
+\textrm{$\sum{F_{yi}} = 0$}\\
+\textrm{$\sum{M_i} = 0$}\\
+\end{array} \right. $%\end{displaymath}
+\end{center}
+}
+
+\only<4>{
+\begin{center} $%\begin{displaymath}
+\textbf{(M1)}~\left\{ 
+\begin{array}{lll}
+\textrm{$F_{ax} - F_1\cdot \cos\theta_3 - F_2\cdot \cos\theta_4 - F_{bx} = 0$} \\ 
+\textrm{$F_{ay} - F_1\cdot \sin\theta_3 - F_2\cdot \sin\theta_4 + F_{by} = 0$}\\
+\textrm{$- F_1\cdot x_1\sin\theta_3 - F_2\cdot x_2\sin\theta_4 + F_{by}\cdot L = 0$}\\
+\end{array} \right. 
+$%\end{displaymath}
+\end{center}
+}
+
+\only<5>{
+The virtual work done by all the external forces and couples acting on the system is zero for each independent virtual
+displacement of the system, or mathematically $\delta U = 0$
+}
+\end{overlayarea}
+
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Other goals and models}
+\begin{itemize}
+\item \textbf{G2}: Solve for the functions of shear force and bending moment along the beam
+\item \textbf{G3}: Solve for the function of deflection along the beam
+\item $\mathbf{T3_1}$: $\frac{d^2 y}{d x^2} = \frac{M}{EI}$, $y(0) = y(L) = 0$
+\item $\mathbf{T3_2}$: $y$ determined by moment area method
+\item $\mathbf{T3_3}$: $y$ determined using Castigliano's theorem
+\item $\mathbf{M3_{11}}$: $y = \frac{12 \int_0^L (\int_0^L M dx) dx}{Eeh^3}$, $y(0) = y(L) = 0$
+\end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Kreyman and Parnas Five Variable Model}
+\begin{itemize}
+\item See \cite{KreymanAndParnas2002}
+\item An alternative approach
+\item Unfortunately the numerical algorithm is not hidden in the requirements specification
+\item The analogy with real-time systems leads to some confusion
+\end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Examples}
+\begin{itemize}
+\item \href{https://github.com/smiths/swhs}{Solar Water Heating System}
+\item \href{https://github.com/JacquesCarette/literate-scientific-software/tree/master/CaseStudies/glass/Documentation/SRS}{GlassBR}
+\end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Summary of Template}
+\begin{itemize}
+\item Quality is a concern for scientific computing software
+\item Software engineering methodologies can help
+\item Motivated, justified and illustrated a method of writing requirements specification for engineering computation
+to improve reliability
+\item Also improve quality with respect to usability, verifiability, maintainability, reusability and portability
+\item Tabular expressions to reduce ambiguity, encourage systematic approach
+\item Conclusions can be generalized because other computation problems follow the same pattern of \emph{Input} then
+\emph{Calculate} then \emph{Output}
+\item Benefits of approach should increase as the number of details and the number of people involved increase
+\end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}
+\frametitle{Summary of Template (Continued)}
+\begin{itemize}
+\item A new template for scientific computing has been developed
+\item Characteristics of scientific software guided the design
+\item Designed for reuse
+\item Functional requirements split into ``Problem Description'' and ``Solution Characteristics Specification''
+\item Traceability matrix
+\item Addresses nonfunctional requirements (but room for improvement)
+\end{itemize}
+
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \begin{frame}
 \frametitle{Specification Qualities}