Newer
Older
\documentclass[12pt]{article}
\usepackage{bibentry}
\usepackage[round]{natbib}
\usepackage{hyperref}
\hypersetup{
bookmarks=true, % show bookmarks bar?
colorlinks=true, % false: boxed links; true: colored links
linkcolor=red, % color of internal links (change box color with linkbordercolor)
citecolor=green, % color of links to bibliography
filecolor=magenta, % color of file links
urlcolor=cyan % color of external links
}
\usepackage{xspace}
\oddsidemargin 0mm
\evensidemargin 0mm
\textwidth 165mm
\textheight 205mm
%\renewcommand\baselinestretch{0.85}
\title{Software Engineering 2AA4: Software Design I - Introduction to Software
Development, and Computer Science 2ME3: Introduction to Software Development}
%\author{Spencer Smith}
\pagestyle {plain}
\pagenumbering {arabic}
\newcommand{\be}{\begin{enumerate}}
\newcommand{\ee}{\end{enumerate}}
\newcommand{\bi}{\begin{itemize}}
\newcommand{\ei}{\end{itemize}}
\newcommand{\bc}{\begin{center}}
\newcommand{\ec}{\end{center}}
\newcommand{\bsp}{\begin{sloppypar}}
\newcommand{\esp}{\end{sloppypar}}
\renewcommand{\labelenumii}{\theenumii.}
% enumi counter is redefined for the purpose of numbering the deliverables
\renewcommand{\labelenumi}{\arabic{enumi}.}
\newcounter{temp}
\def\CC{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}\xspace}
\begin {document}
\nobibliography{SmithCollectedRefs}
\bibliographystyle{plainnat}
\maketitle
\noindent This course outline contains important information that will effect
your grade. You should retain and refer to this outline throughout the term.
It is your responsibility to be familiar with the contents of this outline.
Dr.~Spencer Smith\\
Office: ITB/167\\
E-mail: \texttt{smiths@mcmaster.ca}\\
Web: \url{http://www.cas.mcmaster.ca/~smiths}\\
Office Hours Term 1: Drop in, or by appointment\\
Brooks Maclachlan (\texttt{?@mcmaster.ca})\\
Alexander Schaap (\texttt{schaapal@mcmaster.ca})\\
? (\texttt{?@mcmaster.ca})\\
? (\texttt{?@mcmaster.ca})\\
? (\texttt{?@mcmaster.ca})
Software life cycle, quality attributes, requirements documentation, specifying
behavior; classes and objects, interface specification; creational patterns,
structural design patterns, behavioral design patterns; implementation in code,
reviews, testing and verification.
This course introduces students to the profession of software engineering and
the software development process. In particular, students will gain an
appreciation of software design strategies that facilitate working on large
applications with multiple developers. Students will study the basic principles
of software design, focusing on software modularization and software units
(modules/classes/components) that are small, sequential and terminating. They
will learn how to use precise specifications to design, implement, and verify
(test/review/inspect) software units in the programming languages Python and
\CC. 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.
\subsubsection{Lecture C01 and C02} Monday and Wednesday, 2:30PM -- 3:20PM;
Friday 4:30PM -- 5:20PM in T13 125
\subsubsection{Tutorial T01} Friday, 2:30PM -- 4:20PM in ITB 139
\subsubsection{Tutorial T02} Tuesday, 2:30PM -- 4:20PM in T13 107
\subsubsection{Lecture C01} Monday, Wednesday and Thursday, 1:30PM -- 2:20PM in BSB B135
\subsubsection{Tutorial T01} Friday, 3:30PM -- 5:20PM in T13 107
\subsubsection{Tutorial T02} Friday, 8:30AM -- 10:20AM in ITB 139
\subsubsection{Tutorial T03} Monday, 2:30PM -- 4:20PM in T13 106
This course will be administered via Avenue to Learn. Go to
\bi
\noindent to access the course's Avenue to Learn page. Please send only normal
McMaster e-mail; do not send mail via Avenue.
Students should be aware that, when they access the electronic
components of this course, private information such as first and last
names, user names for the McMaster e-mail accounts, and program
affiliation may become apparent to all other students in the same
course. The available information is dependent on the technology
used. Continuation in this course will be deemed consent to this
disclosure. If you have any questions or concerns about such
disclosure please discuss this with the Instructor.
\emph{It is the student's responsibility to be aware of the
information on the course's Avenue to Learn page and to check
regularly for announcements.}
The primary purpose of Avenue will be for maintaining grades. Most
of the course content will be maintained in a public git repository.
You can access this repository at:\\
\href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/}{https://gitlab.cas.mcmaster.ca/smiths/se2aa4\_cs2me3/}\\
\bibentry{HoffmanAndStrooper1995}
During the course of the term, a subset of the following topics will be covered.
The chapter numbers given are from \citet{GhezziEtAl2003}.
\begin {enumerate}
\item Introduction to Course
\item Software Engineering as an Engineering Discipline [Chapter 1]
\item Software Qualities [Chapter 2]
\item Software Engineering Principles [Chapter 3]
\item Software Design [Chapter 4]
\item Modularization [Chapter 4]
\item Specification [Chapter 5]
\item Verification [Chapter 6]
\item The Software Development Process [Chapter 7]
\item Design Patterns
\end {enumerate}
\item Assignments 30\% (Four equally weighted assignments)
\item Final Exam 45\%
\end {enumerate}
\noindent Notes:
\begin{enumerate}
% \item The participation grade will be based on participating in lectures,
% creating threads on Avenue, answering questions on Avenue and reading Avenue
% posts.
\item The assignment grade will only be counted in the final grade if the
weighted average of the midterm exam and the final exam is greater than 50 \%.
\item The instructor reserves the right to re-evaluate any of the above via an
oral examination.
\item The instructor reserves the right to conduct a deferred final exam as an
oral examination.
\item The final grade will be converted to the 12-point scale recommended by the
Registrar.
\section{Assignments} \label{SecAssignments}
All assignments are required to be a student's own work. If a student is found
to have copied from any source, or allowed someone to copy their work, it will
be reported as academic dishonesty to the Office of Academic Integrity and to
the Associate Dean and the student will get $0$ on the assignment. DO NOT ALLOW
OTHER STUDENTS TO COPY YOUR ASSIGNMENT; this is also considered academic
dishonesty.
You are allowed and encouraged to use various resources, including journals,
texts, Internet resources, consultations with the instructor or the TA or your
fellow students, but you must explicitly cite all sources. If it is found that
you used a resource and did not cite it, then you will be considered to have
copied. All students are asked to keep all working notes used for the
preparation of the assignments. The instructor or teaching assistant may ask to
see these working notes as evidence of original work.
If there is a problem with the grading of an assignment, please contact the TA
to discuss it. If the problem cannot be resolved through discussion with the
TA, then please contact the course instructor. Grades for assignments will only
be changed if the problem is reported within two weeks of the date that the
assignments are returned.
% Keeping a log is an essential part of Professional Engineering. In developing a
% project, you may need to consult documentation, programs, textbooks and other
% people. Since you may be held responsible for any errors in your product, it is
% important to keep a record of where you obtained your information. You must be
% able to provide evidence that you have based your statements on sources that can
% be presumed to be reliable.
% Each student is expected to keep a detailed, up-to-date log book that records
% all the steps performed on the software design exercises (assignments). Sources
% of information, consultations with the instructor, teaching assistants, and
% fellow students, successful and failed experiments, discovered errors, and
% lessons learnt should be recorded. The entries in the log book should be listed
% chronologically with dates and times. The log book may be either a physical
% book (such as a lab book) or an electronic document (such as a text file). A
% copy of the student's log book must be included with the report for each
% assignment.
A 90 minute midterm will be held on Wednesday, February 28 starting at 7:00 pm
in MCMST T13 106, MCMST T13 123, MCMST UH 213. (Specific room assignments will
be announced in class.) Please bring your student card to the exam.% The
% instructor reserves the right not to remark any exam written in pencil.
A final exam of 2.5 hour duration, covering the entire course, will be
scheduled by the Registrar during the regular examination period.
This section summarizes the policy statements on calculators, improving the
course, the Centre for Student Development, Missed Work, Discrimination and
Academic Dishonesty.
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{Missed Work and Late Work}
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. Late work is not graded without an MSAF.
The MSAF accommodation for a missed assignment is a 5 day extension from the
original assignment deadline. The MSAF accommodation for a missed midterm is to
roll the weight of the midterm into the weight of the final examination.
The Faculty of Engineering is concerned with ensuring an environment
that is free of all adverse discrimination. If there is a problem,
that cannot be resolved by discussion among the persons concerned,
individuals are reminded that they should contact their Department
Chair and the Human Rights and Equity Services (HRES) office as soon
as possible.
You are expected to exhibit honesty and use ethical behaviour in all aspects of
the learning process. Academic credentials you earn are rooted in principles of
honesty and academic integrity.
Academic dishonesty is to knowingly act or fail to act in a way that results or
could result in unearned academic credit or advantage. This behaviour can result
in serious consequences, e.g., the grade of zero on an assignment, loss of
credit with a notation on the transcript (notation reads: ``Grade of F assigned
for academic dishonesty''), and/or suspension or expulsion from the university.
It is your responsibility to understand what constitutes academic dishonesty.
For information on the various types of academic dishonesty please refer to the
Academic Integrity Policy, located at
\[\texttt{http://www.mcmaster.ca/academicintegrity/}\]
\noindent The following illustrates only three forms of academic dishonesty:
\be
\item Plagiarism, e.g., the submission of work that is not one's own or for
which other credit has been obtained.
\item Improper collaboration in group work.
\item Copying or using unauthorized aids in tests and examinations.
\emph{Your work must be your own.} Plagiarism and copying will not be
tolerated! If it is discovered that you plagiarized or copied, it will be
considered as academic dishonesty. Further information on the importance of
citing all sources are given in the section on assignments
(Section~\ref{SecAssignments}). Students may be asked to defend their written work orally.
Every student will have the opportunity to evaluate the effectiveness of this
course. The feedback that is received from the course evaluation is very
valuable, so we are providing a course evaluation bonus to each student based on
the level of class participation in the course evaluation according to the
following table:
\bc
\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\% & 0.75\\\hline
85--89\% & 1.00\\\hline
90--94\% & 1.25\\\hline
95--100\% & 1.50\\\hline
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 0.75 percentage point bonus.
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}