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

Updates in prep for first lecture.

parent 103b11db
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -52,7 +52,7 @@
\title{SE 2AA4 / CS 2ME3 Software Design I}
\author{Alan Wassyng}
\author{Alan Wassyng and Spencer Smith}
\begin{document}
\maketitle
......@@ -117,14 +117,13 @@
\indicator{2. Recognizes and follows engineering design principles}{\ref{1r}--\ref{1m}, \ref{1ih}, \ref{2modules}--\ref{2mid}}
\indicator{3. Obtains experience with open-ended problems}{\ref{2modules}--\ref{2wboxtest}}
\indicator{7. Properly documents and communicates processes and outcomes}{\ref{2modules}--\ref{2wboxtest}}
\indicator{10. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
% \indicator{10. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
\ATTRIBUTE{Use of Engineering Tools}
\indicator{2. The ability to use modern/state of the art tools}{\ref{2code}}
\ATTRIBUTE{Inidividual and Team Work}
\indicator{4. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
% \ATTRIBUTE{Inidividual and Team Work}
% \indicator{4. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
%
\end{AttributesTabular}
......@@ -134,11 +133,10 @@
\section{Rubrics}
% The class had 170 students.
% The course work involved three assignments (20\%), one midterm exam (35\%), and a final exam (45\%).
The class had 170 students.
The course work involved three assignments (20\%), one midterm exam (35\%), and a final exam (45\%).
The numbers in the rubrics are obtained by measuring each learning outcome using the above course work.
% The numbers in the rubrics are obtained by measuring each learning outcome using the above course work.
\begin{sidewaystable}
\caption{Student work used: assignments.
......@@ -149,28 +147,28 @@ The numbers in the rubrics are obtained by measuring each learning outcome using
{can include all requirements, but design has too few or too many modules}
{can include all requirements, and decomposition is reasonable but inforation hiding not achieved }
{can decompose into well-structured modules complying with information hiding, secrets traced}
\Result{\ref{2modules},\ref{2quality}, \ref{2infohid}}{3}{18}{71}{8}
\Result{\ref{2modules},\ref{2quality}, \ref{2infohid}}{}{}{}{}
\outcome{Document module behaviour}{}{document MIS and MID for each module}
{cannot create adequate MIS and MID for each module}
{can create MIS but not MID for each module}
{can create both MIS and MID for each module}
{can create both MIS and MID for each module, and MIS does not violate information hiding}
\Result{\ref{2mis}, \ref{2mid}, \ref{2infohid}}{11}{23}{59}{7}
\Result{\ref{2mis}, \ref{2mid}, \ref{2infohid}}{}{}{}{}
\outcome{Implement design}{}{create executable code from design}
{cannot create implementation - not complete or cannot execute adequately}
{can create code, but code does not match design}
{can create code that matches design, but code is not efficient}
{can create efficient code that matches design}
\Result{\ref{2code}}{14}{31}{47}{8}
\Result{\ref{2code}}{}{}{}{}
\outcome{Testing}{}{testing of the implementation }
{cannot create adequate tests}
{can create black-box tests but not white-box tests}
{can create white-box tests but not black-box tests}
{can create both black-box and white-box tests}
\Result{\ref{2bboxtest}, \ref{2wboxtest}}{11}{27}{51}{11}
\Result{\ref{2bboxtest}, \ref{2wboxtest}}{}{}{}{}
\end{OutcomesTabular}
\end{sidewaystable}
......@@ -183,28 +181,28 @@ The numbers in the rubrics are obtained by measuring each learning outcome using
{can understand basic decomposition quality, but not finer points}
{can understand basic decomposition quality, including finer structural points}
{can understand advanced decomposition quality, and information hiding}
\Result{\ref{1p}--\ref{1m}, \ref{1ih} \ref{2quality}--\ref{2infohid}}{18}{23}{59}{0}
\Result{\ref{1p}--\ref{1m}, \ref{1ih} \ref{2quality}--\ref{2infohid}}{}{}{}{}
\outcome{MIS and MID}{}{understand MIS and MID}
{cannot understand MIS or MID}
{can understand MIS but not MID}
{can understand basic concepts of both MIS and MID}
{can understand advanced concepts of both MIS and MID}
\Result{\ref{1s}, \ref{2mis}--\ref{2mid}}{10}{8}{75}{7}
\Result{\ref{1s}, \ref{2mis}--\ref{2mid}}{}{}{}{}
\outcome{Tabular expressions}{}{create and understand tabular expressions}
{cannot understand or create tabular expressions}
{can understand tabular expressions but cannot create them}
{can understand and create tabular expressions, but don't understand completeness and disjointness}
{can understand and create tabular expressions including completeness and disjointness}
\Result{\ref{2tables}}{4}{11}{79}{6}
\Result{\ref{2tables}}{}{}{}{}
\outcome{FSM}{}{work with models, especially FSMs}
{cannot understand or create FSMs}
{can understand FSMs but cannot create them}
{can understand and create FSMs}
{can understand and create FSMs and use them for analysis}
\Result{\ref{1fsm}}{0}{18}{82}{0}
\Result{\ref{1fsm}}{}{}{}{}
\end{OutcomesTabular}
......@@ -220,163 +218,159 @@ The numbers in the rubrics are obtained by measuring each learning outcome using
{can understand the basic life cycle phases, but not relationships between them}
{can understand relationships between life cycle phases, but not the role of people}
{can understand the software life cycle and the role of people}
\Result{\ref{1slc}, \ref{1p}}{12}{53}{35}{0}
\Result{\ref{1slc}, \ref{1p}}{}{}{}{}
\outcome{Modular design}{}{quality of modular design}
{cannot understand what makes a quality decomposition}
{can understand basic decomposition quality, but not finer points}
{can understand basic decomposition quality, including finer structural points}
{can understand advanced decomposition quality, and information hiding}
\Result{\ref{1p}--\ref{1m}, \ref{1ih} \ref{2quality}--\ref{2infohid}}{7}{26}{52}{15}
\Result{\ref{1p}--\ref{1m}, \ref{1ih} \ref{2quality}--\ref{2infohid}}{}{}{}{}
\outcome{MIS and MID}{}{understand MIS and MID}
{cannot understand MIS or MID}
{can understand MIS but not MID}
{can understand basic concepts of both MIS and MID}
{can understand advanced concepts of both MIS and MID}
\Result{\ref{1s}, \ref{2mis}--\ref{2mid}}{6}{19}{24}{51}
\Result{\ref{1s}, \ref{2mis}--\ref{2mid}}{}{}{}{}
\outcome{FSM}{}{work with models, especially FSMs}
{cannot understand or create FSMs}
{can understand FSMs but cannot create them}
{can understand and create FSMs}
{can understand and create FSMs and use them for analysis}
\Result{\ref{1fsm}}{6}{23}{38}{33}
\Result{\ref{1fsm}}{}{}{}{}
\outcome{Tabular expressions}{}{create and understand tabular expressions}
{cannot understand or create tabular expressions}
{can understand tabular expressions but cannot create them}
{can understand and create tabular expressions, but don't understand completeness and disjointness}
{can understand and create tabular expressions including completeness and disjointness}
\Result{\ref{2tables}}{4}{12}{83}{0}
\Result{\ref{2tables}}{}{}{}{}
\outcome{Pre- and post- conditions}{}{create and understand pre- and post- conditions}
{cannot understand or create pre- and post- conditions}
{can understand tpre- and post- conditions but cannot create them}
{can understand and (almost) create pre- and post- conditions, but don't understand logic expressions well enough}
{can understand and create pre- and post- conditions, including well-formed logic expressions}
\Result{\ref{2tables}}{8}{31}{61}{0}
\Result{\ref{2tables}}{}{}{}{}
\outcome{Testing}{}{black-box and white-box tests}
{cannot create adequate tests}
{can create black-box tests but not white-box tests}
{can create white-box tests but not black-box tests}
{can create both black-box and white-box tests}
\Result{\ref{2bboxtest}, \ref{2wboxtest}}{8}{22}{62}{8}
\Result{\ref{2bboxtest}, \ref{2wboxtest}}{}{}{}{}
\end{OutcomesTabular}
\end{sidewaystable}
\clearpage
% \section{Identified areas for continuous improvement}
% %\comment{I use the above table to make conclusions about what to
% %improve next time this course is taught.}
% The students have performed well on nearly all the topics. However, there are three main difficulties -- and these have not really changed enough since last year, in spite of added emphasis:
% \begin{enumerate}[$\bullet$]
% \item Students have difficulty in understanding and implementing tests. In particular, they do not have a sound grasp of the difference between black-box and white-box testing. Results were definitely better than last year.
% \item Too many students still struggle with the basic logic constructs that they need for pre- and post- conditions, and for tabular expressions, but the results were significantly better than last year.
\section{Identified areas for continuous improvement}
%\comment{I use the above table to make conclusions about what to
%improve next time this course is taught.}
The students have performed well on nearly all the topics. However, there are three main difficulties -- and these have not really changed enough since last year, in spite of added emphasis:
\begin{enumerate}[$\bullet$]
\item Students have difficulty in understanding and implementing tests. In particular, they do not have a sound grasp of the difference between black-box and white-box testing. Results were definitely better than last year.
% \item Too many students are still struggling with implementing their designs in code. Their coding skills/techniques are not as advanced as they should be.
\item Too many students still struggle with the basic logic constructs that they need for pre- and post- conditions, and for tabular expressions, but the results were significantly better than last year.
% \item One surprise was that students did not have as good an understanding of software life cycle events, mainly related to human reviews.
\item Too many students are still struggling with implementing their designs in code. Their coding skills/techniques are not as advanced as they should be.
\item One surprise was that students did not have as good an understanding of software life cycle events, mainly related to human reviews.
%\item In the summary Table~\ref{indy}, nearly half of the students
%are ``marginal'' in terms of using modern state of the art tools and using appropriate techniques to collect data.
\end{enumerate}
% %\item In the summary Table~\ref{indy}, nearly half of the students
% %are ``marginal'' in terms of using modern state of the art tools and using appropriate techniques to collect data.
% \end{enumerate}
\section{Actions to take for implementation of continuous improvement}
% \section{Actions to take for implementation of continuous improvement}
It was difficult to restructure the course to cover testing earlier in the course. The course was restructured to cover more concrete design techniques earlier and principles and attributes later. This did result in measurable improvement.
% It was difficult to restructure the course to cover testing earlier in the course. The course was restructured to cover more concrete design techniques earlier and principles and attributes later. This did result in measurable improvement.
\begin{enumerate}[$\bullet$]
% \begin{enumerate}[$\bullet$]
\item It is reasonably straightforward to cover the testing section of the course towards the end of the course. However, that makes it difficult to get students to use what is taught in class to test the designs/implementations they produce in their assignments. In the first two assignments they suggest how they think they should test their product and perform those tests, and in the last assignment, they augment/modify those tests by applying what they have studied in class. It may still be possible to restructure the course even more so that testing is covered much earlier, and so the students have more opportunity for practical implementation of the theory they cover in class, but it will be difficult to achieve.
% \item It is reasonably straightforward to cover the testing section of the course towards the end of the course. However, that makes it difficult to get students to use what is taught in class to test the designs/implementations they produce in their assignments. In the first two assignments they suggest how they think they should test their product and perform those tests, and in the last assignment, they augment/modify those tests by applying what they have studied in class. It may still be possible to restructure the course even more so that testing is covered much earlier, and so the students have more opportunity for practical implementation of the theory they cover in class, but it will be difficult to achieve.
\item More practice examples for tabular expressions and pre- and post- conditions may alleviate the problem with their math skills as regards logic. This was improved over past years.
% \item More practice examples for tabular expressions and pre- and post- conditions may alleviate the problem with their math skills as regards logic. This was improved over past years.
\item Lack of coding skill has been a long term problem. This is yet another indication that it is a problem. The Department implemented a lab course to help in this regard. It did not seem to help enough -- perhaps more analysis of what they need in the lab course is still required. It has only been run once so far.
% \item Lack of coding skill has been a long term problem. This is yet another indication that it is a problem. The Department implemented a lab course to help in this regard. It did not seem to help enough -- perhaps more analysis of what they need in the lab course is still required. It has only been run once so far.
\item Software life cycle and reviews need to be emphasized more than I achieved. Possibly because the reviews came towards the end of the course and perhaps did not seem as important to the students after all the emphasis on rigour.
% \item Software life cycle and reviews need to be emphasized more than I achieved. Possibly because the reviews came towards the end of the course and perhaps did not seem as important to the students after all the emphasis on rigour.
\end{enumerate}
% \end{enumerate}
\section{Mapping back to indicators}
% \section{Mapping back to indicators}
%\comment{I believe the faculty will need numbers for each measured indicator. It is recommended also to produce bar charts, but I do not see the need for them: the numbers in Table~\ref{indicators}
%are sufficient, I think.}
% %\comment{I believe the faculty will need numbers for each measured indicator. It is recommended also to produce bar charts, but I do not see the need for them: the numbers in Table~\ref{indicators}
% %are sufficient, I think.}
For each indicator, we take averages over the measurements
corresponding to objectives that are mapped to this indicator.
%For example, for {\em Competence in mathematics}, we average over
%each of below, marginal, meets, and exceeds for
%{\ref{3X03:fp}--\ref{3X03:ode}, \ref{3X03:rf}--\ref{3X03:end}}. That is,
%we calculate averages along the columns Table~\ref{summary}.
The results are shown in Rubric~\ref{indicators}.
% For each indicator, we take averages over the measurements
% corresponding to objectives that are mapped to this indicator.
% %For example, for {\em Competence in mathematics}, we average over
% %each of below, marginal, meets, and exceeds for
% %{\ref{3X03:fp}--\ref{3X03:ode}, \ref{3X03:rf}--\ref{3X03:end}}. That is,
% %we calculate averages along the columns Table~\ref{summary}.
% The results are shown in Rubric~\ref{indicators}.
\begin{table}[ht]
\caption{Indicators and measurements\label{indicators}}
\centering
\begin{tabularx}{\linewidth}{Xcccccc}
\multicolumn{1}{c}{attributes \& indicators} & object.& below & marg. &meets &exc.\\ \hline
%
\ATTRIBUTE{Knowledge Base for Engineering}
\indic{1. Competence in Mathematics}{\ref{1s}, \ref{2tables}--\ref{2pre}}
&8& 23& 74& 19\\
\indic{3. Competence in Engineering Fundamentals}{\ref{1r}--\ref{1m}, \ref{2modules}--\ref{2quality}}
&12& 36& 62& 5\\
\indic{4. Competence in Specialized Engineering Knowledge}{\ref{1slc}--\ref{1bb}, \ref{2infohid}--\ref{2wboxtest}}
&11& 30& 59& 16\\
% \begin{table}[ht]
% \caption{Indicators and measurements\label{indicators}}
% \centering
% \begin{tabularx}{\linewidth}{Xcccccc}
% \multicolumn{1}{c}{attributes \& indicators} & object.& below & marg. &meets &exc.\\ \hline
% %
% \ATTRIBUTE{Knowledge Base for Engineering}
% \indic{1. Competence in Mathematics}{\ref{1s}, \ref{2tables}--\ref{2pre}}
% &8& 23& 74& 19\\
% \indic{3. Competence in Engineering Fundamentals}{\ref{1r}--\ref{1m}, \ref{2modules}--\ref{2quality}}
% &12& 36& 62& 5\\
% \indic{4. Competence in Specialized Engineering Knowledge}{\ref{1slc}--\ref{1bb}, \ref{2infohid}--\ref{2wboxtest}}
% &11& 30& 59& 16\\
\ATTRIBUTE{Problem Analysis}
\indic{2. Ability to identify reasonable assumptions}{\ref{1p}--\ref{1ih}, \ref{2tables}--\ref{2modules}}
&9& 27& 69& 10\\
\indic{4. Ability to decompose and organize a problem into manageable sub-problems}{\ref{1slc}, \ref{1p}--\ref{1m}, \ref{2modules}, \ref{2infohid}--\ref{2mid}}
&11& 30& 61& 16\\
\indic{6. The ability to use modern/state of the art tools}{\ref{2code}}
&14& 31& 47& 8\\
% \ATTRIBUTE{Problem Analysis}
% \indic{2. Ability to identify reasonable assumptions}{\ref{1p}--\ref{1ih}, \ref{2tables}--\ref{2modules}}
% &9& 27& 69& 10\\
% \indic{4. Ability to decompose and organize a problem into manageable sub-problems}{\ref{1slc}, \ref{1p}--\ref{1m}, \ref{2modules}, \ref{2infohid}--\ref{2mid}}
% &11& 30& 61& 16\\
% \indic{6. The ability to use modern/state of the art tools}{\ref{2code}}
% &14& 31& 47& 8\\
\ATTRIBUTE{Investigation}
\indic{1. Able to recognize and discuss applicable theory knowledge base}{\ref{2tables}--\ref{2pre}}
&7& 23& 81& 2\\
\indic{2. Capable of selecting appropriate model and methods and identify assumptions and constraints}{\ref{2mis}, \ref{2bboxtest}--\ref{2wboxtest}}
&10& 23& 58& 21\\
\indic{5. Assess the accuracy and precision of results and recognize limitations of the approach}{\ref{2quality}, \ref{2bboxtest}--\ref{2wboxtest}}
&11& 26& 67& 9\\
\indic{6. Properly documents and communicates processes and outcomes}{\ref{2modules}--\ref{2wboxtest}}
&9& 23& 64& 17\\
% \ATTRIBUTE{Investigation}
% \indic{1. Able to recognize and discuss applicable theory knowledge base}{\ref{2tables}--\ref{2pre}}
% &7& 23& 81& 2\\
% \indic{2. Capable of selecting appropriate model and methods and identify assumptions and constraints}{\ref{2mis}, \ref{2bboxtest}--\ref{2wboxtest}}
% &10& 23& 58& 21\\
% \indic{5. Assess the accuracy and precision of results and recognize limitations of the approach}{\ref{2quality}, \ref{2bboxtest}--\ref{2wboxtest}}
% &11& 26& 67& 9\\
% \indic{6. Properly documents and communicates processes and outcomes}{\ref{2modules}--\ref{2wboxtest}}
% &9& 23& 64& 17\\
\ATTRIBUTE{Design}
\indic{1. Recognizes and follows an engineering design process}{\ref{1slc}--\ref{1bb}, \ref{2tables}--\ref{2wboxtest}}
&10& 28& 65& 12\\
\indic{2. Recognizes and follows engineering design principles}{\ref{1r}--\ref{1m}, \ref{1ih}, \ref{2modules}--\ref{2mid}}
&11& 25& 69& 21\\
\indic{3. Obtains experience with open-ended problems}{\ref{2modules}--\ref{2wboxtest}}
&9& 23& 64& 17\\
\indic{7. Properly documents and communicates processes and outcomes}{\ref{2modules}--\ref{2wboxtest}}
&9& 23& 64& 17\\
\indic{10. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
&9& 23& 64& 17\\
% \ATTRIBUTE{Design}
% \indic{1. Recognizes and follows an engineering design process}{\ref{1slc}--\ref{1bb}, \ref{2tables}--\ref{2wboxtest}}
% &10& 28& 65& 12\\
% \indic{2. Recognizes and follows engineering design principles}{\ref{1r}--\ref{1m}, \ref{1ih}, \ref{2modules}--\ref{2mid}}
% &11& 25& 69& 21\\
% \indic{3. Obtains experience with open-ended problems}{\ref{2modules}--\ref{2wboxtest}}
% &9& 23& 64& 17\\
% \indic{7. Properly documents and communicates processes and outcomes}{\ref{2modules}--\ref{2wboxtest}}
% &9& 23& 64& 17\\
% \indic{10. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
% &9& 23& 64& 17\\
\ATTRIBUTE{Use of Engineering Tools}
\indic{2. The ability to use modern/state of the art tools}{\ref{2code}}
&14& 31& 47& 8\\
% \ATTRIBUTE{Use of Engineering Tools}
% \indic{2. The ability to use modern/state of the art tools}{\ref{2code}}
% &14& 31& 47& 8\\
\ATTRIBUTE{Inidividual and Team Work}
\indic{4. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
&9& 23& 64& 17\\
% \ATTRIBUTE{Inidividual and Team Work}
% \indic{4. Able to work in a group ...}{\ref{2modules}--\ref{2wboxtest}}
% &9& 23& 64& 17\\
\end{tabularx}
\end{table}
% \end{tabularx}
% \end{table}
\end{document}
......
No preview for this file type
......@@ -87,6 +87,19 @@ will learn how to use precise specifications to design, implement, and verify
Python. Later courses will teach how to specify and design large software
systems that may be concurrent and nonterminating.
\subsection*{Learning Objectives: Postcondition}
The learning objectives are summarized at:
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/tree/master/CourseOutline/LearningOutcomes}{https://gitlab.cas.mcmaster.ca/smiths/.../CourseOutline/LearningOutcomes}\\
\subsection*{Learning Objectives: Precondition}
The \emph{precondition} of the course is the set of university-level
learning objectives that the student is expected to have achieved
before the start of the course. The student should have taken an introductory
programming course and a discrete math course.
\section*{Schedule}
\subsection*{COMP SCI 2ME3}
......@@ -181,7 +194,7 @@ The chapter numbers given are from \citet{GhezziEtAl2003}.
\item Participation 5\%
\item Assignments 20\% (Five equally weighted assignments)
\item Assignments 20\% (Four equally weighted assignments)
\item Midterm 25\%
......@@ -261,7 +274,7 @@ pencil.
\section*{Final Examination}
A final exam of three hour duration, covering the entire course, will be
A final exam of 2.5 hour duration, covering the entire course, will be
scheduled by the Registrar during the regular examination period. The
examination will be open book.
......@@ -280,20 +293,16 @@ No calculators will be necessary (or permitted) in this course.
Ideas to improve the course are always welcome. Moreover, if you have problems
in the course, please contact the instructors as early as possible.
\subsection*{Centre for Student Development}
\subsection*{Missed Work and Late Work}
``The Centre for Student Development is a resource for all McMaster students.
It offers services in four main areas: personal concerns, academic concerns
(including writing skills and English as a second language), services for
students with disabilities, and leadership training.'' Further information can
be found at: {\tt http://csd.mcmaster.ca}
A student who would like to receive accommodation for missed academic
work due to an absence needs to complete a McMaster Student Absence
Form (MSAF) on-line at \[\texttt{http://www.mcmaster.ca/msaf/}.\] When
the MSAF tool asks you for the party who should receive your request
for accommodation, enter \texttt{smiths@mcmaster.ca}. MSAFs sent to
any other e-mail address will be ignored.
\subsection*{Missed Work}
Missed work will not be accepted without a ``permission for missed work'' form
from the Office of the Associate Dean. Late assignments, without a permission
form, will receive a penalty of -20 \% per working day that the assignment is
late.
Late work is assessed a -20\% penalty per working day.
\subsection*{Discrimination}
......@@ -352,19 +361,55 @@ following table:
\begin{tabular}{|r|r|}
\hline
\textbf{Class Participation} & \textbf{Bonus (\%)}\\\hline\hline
60--64\% & 0.25\\\hline
65--69\% & 0.50\\\hline
70--74\% & 0.75\\\hline
75--79\% & 1.00\\\hline
80--84\% & 1.25\\\hline
85--89\% & 1.50\\\hline
90--94\% & 1.75\\\hline
95--100\% & 2.00\\\hline
% 60--64\% & 0.25\\\hline
% 65--69\% & 0.50\\\hline
% 70--74\% & 0.75\\\hline
% 75--79\% & 1.00\\\hline
80--84\% & 0.75\\\hline
85--89\% & 1.00\\\hline
90--94\% & 1.25\\\hline
95--100\% & 1.50\\\hline
\end{tabular}
\ec
%
Thus, for example, if 75\% of the students enrolled in the class
Thus, for example, if 80\% of the students enrolled in the class
participate in its course evaluation, every student's final
mark will receive a 1.00 percentage point bonus.
mark will receive a 0.75 percentage point bonus.
\subsection*{Course Modifications}
The instructor and university reserve the right to modify elements of
the course during the term. The university may change the dates and
deadlines for any or all courses in extreme circumstances. If either
type of modification becomes necessary, reasonable notice and
communication with the students will be given with explanation and the
opportunity to comment on changes. It is the responsibility of the
student to check their McMaster e-mail and course websites weekly
during the term and to note any changes. Your McMaster e-mail is the
one with the address ending in \texttt{@mcmaster.ca}. This is a
separate e-mail address from your Avenue address.
\subsection*{Other Policy Statements}
\begin{enumerate}
\item Significant independent work is expected for this course.
\item The student is expected to communicate any questions
comments or concerns that they may have.
\item If there is a problem with the marking of any deliverable, the
student should first discuss the problem with the TA who marked
it. Marks will only be changed if the problem is
reported within two weeks of the date that the deliverable was
returned.
% \item E-mail with a source address outside of McMaster University
% will not be read by the instructional staff.
\item Suggestions on how to improve the course and the instructor's
teaching methods are always welcomed.
\end{enumerate}
\end{document}
\ No newline at end of file
No preview for this file type
......@@ -12,8 +12,10 @@
\usepackage{array}
\usepackage{hyperref}
\title[Intro to Course (slide \thepage)]{Introduction to Software Engineering 2AA4 Software Design I -- Software
Component Design}
\usepackage{booktabs}
\title[Intro to Course (slide \thepage)]{Software Engineering 2AA4 (Software
Design I) and Computer Science 2ME3 -- Introduction to Software Development}
%\subtitle{???}
\author[Smith]{Dr.~Spencer Smith}
\institute{Computing and Software Department, McMaster University}
......@@ -50,12 +52,13 @@ Component Design}
\item Course outline
\begin{itemize}
\item Introduction
\item Learning objectives
\item Outline of topics
\item Grade assessment
\item Policy statements
\end{itemize}
\item Assignment 1
\item Pictures
%\item Assignment 1
%\item Pictures
\end{itemize}
\end{frame}
......@@ -66,14 +69,75 @@ Component Design}
\begin{itemize}
\item Assignment 1 deadlines
% \item Assignment 1 deadlines
% \begin{itemize}
% \item Files due by midnight January 19
% \item E-mail partner files by January 20
% \item Lab report due by the beginning of class on January 26
% \end{itemize}
\item This course uses Avenue.
\begin{itemize}
\item Files due by midnight January 19
\item E-mail partner files by January 20
\item Lab report due by the beginning of class on January 26
\item \url{http://avenue.mcmaster.ca/}
\item Please put a picture up on Avenue!
\end{itemize}
\item We'll also use git on GitLab
\begin{itemize}
\item \url{https://gitlab.cas.mcmaster.ca/}
\item Create your account by logging in
\item Course material and issue tracking at \url{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3}
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details}
\begin{itemize}
% \item Assignment 1 deadlines
% \begin{itemize}
% \item Files due by midnight January 19
% \item E-mail partner files by January 20
% \item Lab report due by the beginning of class on January 26
% \end{itemize}
\item Tutorials start next week
\item This course uses Avenue
\begin{itemize}
\item \url{http://avenue.mcmaster.ca/}
\item Please put a picture up on Avenue!
\end{itemize}
\item We'll also use git on GitLab
\begin{itemize}
\item \url{https://gitlab.cas.mcmaster.ca/}
\item Create your account by logging in
\item Course material and issue tracking at \url{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3}
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Linux Tutorial for Beginners}
The Linux Tutorial for beginners will be given on Tuesday, Jan 10th, from 1:30pm
to 3:20 pm in lab ITB237. The second part of the tutorial will be given in the
following week at the same time and location (on Tuesday, Jan. 17th, from 1:30pm
to 3:20 pm in lab ITB237)
The first part of the tutorial covers some basic Linux commands and
utilities. The second part is to show students to use text editors, including
VI(VIM), and to compile and run simple C and Java programs and projects.
The first part of the same tutorial will be repeated on Wednesday, Jan. 11th,
from 12:20 pm to 2:20 pm in lab ITB237 for students who can not attend the
Tuesday session of tutorial. The second part of the tutorial will be repeated on
Wednesday, Jan. 18th, from 12:20 pm to 2:20 pm in lab ITB237.
\end{frame}
......@@ -93,12 +157,14 @@ Component Design}
\item TAs
\begin{itemize}
\item Ms.~Silviya Grigorova ({\tt grigorsb@mcmaster.ca})
\item Ms.~Wen Yu ({\tt yuw4@mcmaster.ca})
\item Steven Palmer (\texttt{palmes4@mcmaster.ca})
\item Rober Boshra (\texttt{boshrar@mcmaster.ca})
\item Gurankash Singh (\texttt{singhg47@mcmaster.ca})
\item Owen Huyn (\texttt{huyno@mcmaster.ca})
\item Teaching assistants will
\begin{itemize}
\item Give tutorials
\item Mark assignments and the midterm
\item Mark assignments
\item Provide programming assistance
\item Answer questions on the course material
\end{itemize}
......@@ -109,6 +175,31 @@ Component Design}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Introduction of Instructor: Dr.\ Spencer Smith}
\begin{itemize}
% \item Director, Engineering 1.
\item Associate Professor, Department of Computing and Software.
\item B.Eng.C.S, Civil Engineering Department, McMaster University. \\
M.Eng., Ph.D., Civil Engineering Department, McMaster University.
\item P.Eng.~(Licensed Professional Engineer in Ontario).
\item \structure{Teaching}: Software design, scientific computing, introduction to computing,
communication skills, software project management.
\item \structure{Research}: Application of software engineering methodologies to improve the quality of
scientific computing software.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Introduction}
......@@ -128,7 +219,7 @@ Component Design}
\begin{itemize}
\item Introduction to profession of software engineering
\item Strategies for large applications with multiple developers
\item C, OCaml and Java %ask about experience with each language
\item Java and Python %ask about experience with each language
\end{itemize}
\end{itemize}
......@@ -136,6 +227,15 @@ Component Design}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Learning Objectives}
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/tree/master/CourseOutline/LearningOutcomes}{https://gitlab.cas.mcmaster.ca/.../CourseOutline/LearningOutcomes}\\
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Resources}
......@@ -204,7 +304,7 @@ Component Design}
\item Answer questions
\item Ask questions
\end{itemize}
\item Attendance may be taken in lectures
%\item Attendance may be taken in lectures
%\item We expect you to ask questions
%\item We will ask you questions too
......@@ -219,7 +319,7 @@ Component Design}
\begin {itemize}
\item Five equally weighted assignments
\item Four equally weighted assignments
\item Assignments must be your own work
\item Do not allow other students to copy your work
\item Use any available resources, but explicitly cite all sources
......@@ -237,28 +337,28 @@ midterm and final is greater than 50 \%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Log Book}
% \begin{frame}
% \frametitle{Log Book}
\begin {itemize}
% \begin {itemize}
\item Keeping a log is essential to a Professional Engineer
\item Record all steps performed on the assignments
\begin{itemize}
\item Sources of information
\item Consultations with instructor, TAs, fellow students
\item Successful and failed experiments
\item Discovered errors
\item Lessons learnt
\end{itemize}
\item Entries should be listed chronologically with the date and time
\item Either a physical book or an electronic file
\item Included with each assignment submission
\end{itemize}
% \item Keeping a log is essential to a Professional Engineer
% \item Record all steps performed on the assignments
% \begin{itemize}
% \item Sources of information
% \item Consultations with instructor, TAs, fellow students
% \item Successful and failed experiments
% \item Discovered errors
% \item Lessons learnt
% \end{itemize}
% \item Entries should be listed chronologically with the date and time
% \item Either a physical book or an electronic file
% \item Included with each assignment submission
% \end{itemize}
\end{frame}
% \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examinations}
......@@ -267,16 +367,19 @@ midterm and final is greater than 50 \%
\item Midterm
\begin{itemize}
\item 50 minutes
\item During tutorial time
\item 90 minutes
\item Time and date on course outline
\item Multiple choice
%\item Likely in the tutorial room
%\item Bring your student card
\item Bring your student card
\item Bring pencil
%\item Pencil written exams might not be remarked
\item Open book
\end{itemize}
\item Final examination
\begin{itemize}
\item 3 hours
\item 2.5 hours
\item Multiple choice
\item Scheduled by registrar
\item Will cover entire course
\item Open book
......@@ -294,9 +397,9 @@ midterm and final is greater than 50 \%
\item No calculators
\item Ideas to improve the course are welcomed
\item Centre for Student Development provides useful resources
\item Missed work penalty of 20 \% per working day
\item If there is a problem with discrimination please contact the Department Chair, or other appropriate body
\item Missed/late work use MSAF, or a penalty of 20 \% per working day
\item If there is a problem with discrimination please contact the Department
Chair, or other appropriate body
\end{itemize}
......@@ -326,23 +429,117 @@ the transcript, and/or suspension or expulsion from the university.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
% \frametitle{Assignment 1}
% \begin {itemize}
% \item Write a C program that creates, uses, and tests a simple abstract data type (ADT) data for a circle
% \item Steps
% \begin {enumerate}
% \item {\tt CircleADT.h}, {\tt CircleADT.c} %ask if know about header files?
% \item {\tt Statistics.h}, {\tt Statistics.c}
% \item {\tt testCircles.c}, {\tt Makefile} %ask if know about Makefiles?
% \item Submit files using Subversion (first deadline)
% \item Trade {\tt CircleADT.h}, {\tt CircleADT.c} with your assigned partner (second
% deadline)
% \item Rerun your tests using your partner's (unmodified) files
% \item Submit your report (third deadline)
% \end{enumerate}
% \end{itemize}
% \end{frame}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Assignment 1}
\frametitle{Course Evaluations}
\begin{center}
\begin{tabular}{c r}
\toprule
\textbf{Class Participation} & \textbf{Bonus}\\\midrule
80--84\% & 0.75\\
85--89\% & 1.00\\
90--94\% & 1.25\\
95--100\% & 1.50\\
\bottomrule
\end{tabular}
\end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin {itemize}
\begin{frame}
\item Write a C program that creates, uses, and tests a simple abstract data type (ADT) data for a circle
\item Steps
\begin {enumerate}
\item {\tt CircleADT.h}, {\tt CircleADT.c} %ask if know about header files?
\item {\tt Statistics.h}, {\tt Statistics.c}
\item {\tt testCircles.c}, {\tt Makefile} %ask if know about Makefiles?
\item Submit files using Subversion (first deadline)
\item Trade {\tt CircleADT.h}, {\tt CircleADT.c} with your assigned partner (second
deadline)
\item Rerun your tests using your partner's (unmodified) files
\item Submit your report (third deadline)
\end{enumerate}
\frametitle{``Faked'' Rational Design Process}
\begin{center}
\includegraphics[scale=0.6]{OverviewOfProcess.pdf}
\end{center}
See Parnas and Clements 1986 about ``Faking It''
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{What is Software Engineering?}
\begin{itemize}
\item An area of engineering that deals with the development of software systems that
\begin{itemize}
\item Are large or complex
\item Exist in multiple versions
\item Exist for large period of time
\item Are continuously being modified
\item Are built by teams
\end{itemize}
\item Software engineering is ``application of a systematic, disciplined, quantifiable approach to the development,
operation and maintenance of software'' (IEEE 1990)
\item D.\ Parnas (1978) defines software engineering as ``multi-person construction of multi-version software''
\item Like other areas of engineering, software engineering relies heavily on mathematical techniques, especially
logic and discrete mathematics
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{The PEO}
\begin{itemize}
\item Degree from an accredited program
\item Experience requirement
\item Law and ethics exam
\item Still debating what constitutes software engineering
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Software Engineering in System Design}
\begin{itemize}
\item A physical system is often controlled by a software system called an embedded system
\item As a result, software engineering is often a crucial part of system design
\item Examples of embedded systems
\begin{itemize}
\item Cell phones
\item Nuclear power plants
\item Automobiles
\item Aircraft
\item Pacemakers
\item mp3 players
\item Programmable household devices
\end{itemize}
\item Embedded systems are rapidly appearing everywhere
\item The developers of software for an embedded system needs to understand both the software and the physical device.
\end{itemize}
\end{frame}
......
File added
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