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

Updates to L07 - introduction to modules

parent 4ac22de1
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
\mode<presentation>{} \mode<presentation>{}
\input{../def-beamer} \input{../def-beamer}
\Drafttrue \Draftfalse
\newcommand{\topicTitle}{07 Introduction to Modules (Ch.\ 4)} \newcommand{\topicTitle}{07 Introduction to Modules (Ch.\ 4)}
\ifDraft \ifDraft
...@@ -45,12 +45,15 @@ ...@@ -45,12 +45,15 @@
\begin{itemize} \begin{itemize}
\item Administrative details \item Administrative details
\item Unix command of the day: {\tt ps} \item Unix command of the day: {\tt ps}
\item What is a Software Module? \item What is a software module?
\item Components of a Module \item Program families
\item The Module Interface \item Components of a module
\item The Module Implementation \item The module interface
\item Examples of Modules \item The module implementation
\item Information hiding
\item Examples of modules
\item Example of a vector module \item Example of a vector module
\item Homework exercise on intersection
\end{itemize} \end{itemize}
\end{frame} \end{frame}
...@@ -67,52 +70,18 @@ TBD ...@@ -67,52 +70,18 @@ TBD
\begin{itemize} \begin{itemize}
\item Assignment 1 \item Assignment 1
\begin{itemize} \begin{itemize}
\item Files due by midnight January 28 \item Part 1: January 22, 2018
\item E-mail partner files by January 28 \item Partner Files: January 28, 2018
\item Lab report due February 2 \item Part 2: January 31, 2018
\item Using Python 2.7, doxygen, make, LaTeX, git
\item Make sure everything runs on mills
\end{itemize} \end{itemize}
\item Combining 2aa and 2me on Avenue \item Questions on assignment?
\end{itemize}
}
\fi
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Assignment Submission on GitLab}
\ifDraft
TBD
\else
{
Each student will have a project in the
\href{https://gitlab.cas.mcmaster.ca/se2aa4_cs2me3_assignments}{se2aa4\_cs2me3\_assignments}
group on GitLab. Your project is named to match your macid.
\begin{enumerate}
\item {\tt git clone https://gitlab.cas.mcmaster.ca/
se2aa4\_cs2me3\_assignments/[macid].git}
\item Make changes to files
\item {\tt git status} to see what files have been modified
\item Add your files using {\tt git add [filename]}
\item {\tt git commit} to commit your changes
\item {\tt git push} to push your changes to the repo
\end{enumerate}
\begin{itemize}
\item You only need to clone once
\item Rather than work with the files elsewhere and copy over at the last \item Rather than work with the files elsewhere and copy over at the last
minute, you should work with the repo versions minute, you should work with the repo versions
\item Frequent commits are a great habit to get into \item Frequent commits are a great habit to get into %show of hands on who makes
%frequent commits?
\end{itemize} \end{itemize}
} }
\fi \fi
\end{frame} \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...@@ -201,7 +170,7 @@ group on GitLab. Your project is named to match your macid. ...@@ -201,7 +170,7 @@ group on GitLab. Your project is named to match your macid.
\begin{frame} \begin{frame}
\frametitle{Sample Likely Changes} \frametitle{Sample Likely Changes}
What are some examples of likely changes for software? \structure{What are some common examples of likely changes for software?}
\end{frame} \end{frame}
...@@ -430,7 +399,7 @@ the module ...@@ -430,7 +399,7 @@ the module
\item Basis for design (that is modular decomposition (Module Guide)) \item Basis for design (that is modular decomposition (Module Guide))
\item Implementation secrets are hidden to clients \item Implementation secrets are hidden to clients
\item Secret can be changed freely if the change does not affect the interface \item Secret can be changed freely if the change does not affect the interface
\item \structure{Try to encapsulate changeable design decisions as \item \emph{Encapsulate changeable design decisions as
implementation secrets within module implementations} implementation secrets within module implementations}
\end{itemize} \end{itemize}
...@@ -632,10 +601,18 @@ orthog($x, y$):\\ ...@@ -632,10 +601,18 @@ orthog($x, y$):\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame} \begin{frame}
\frametitle{Formal Version of Intersect} \frametitle{Homework: Formal Version of Intersect}
\structure{In natural language, how would you describe the intersection of two
circles?}\\
~\\
%Is it the intersection of the curve that defines the circle, or does
%the circle include the points on its interior? For the case where the inside
%of the circle is included, is the curve itself included?
How would you write the semantics for circle intersection to make it \structure{How would you write a formal version of circle intersection to make
unambiguous? it unambiguous? From A1-2017, how would you write the semantics for
\texttt{intersect(c)}?}
\end{frame} \end{frame}
......
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