Skip to content
Snippets Groups Projects
SE2AA4_CS2ME3_Outline.tex 15.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • \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
    }
    
    \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.
    
    \section {Instructor}
    
    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\\
    
    \section{Teaching Assistants (TAs)}
    
    % should put their Mac id e-mail addresses
    
    Brooks Maclachlan (\texttt{?@mcmaster.ca})\\
    Alexander Schaap (\texttt{schaapal@mcmaster.ca})\\
    ? (\texttt{?@mcmaster.ca})\\
    ? (\texttt{?@mcmaster.ca})\\
    ? (\texttt{?@mcmaster.ca})
    
    \section{Calendar Description} 
    
    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.
    
    \section{Mission}
    
    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.
    
    
    \section{Schedule}
    
    \subsection{COMP SCI 2ME3}
    
    \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 
    
    \subsection{SFWR ENG 2AA4}
    
    \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
    
    \subsection{Course Web Site}
    
    
    This course will be administered via Avenue to Learn.  Go to
    
    \bi
    
      \item[] \url{http://avenue.mcmaster.ca/} 
    
    \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/}\\
    
    
    \section{Required Textbook}
    
    
    \bibentry{GhezziEtAl2003}.
    
    
    \section{Other Resources}
    
    \bibentry{HoffmanAndStrooper1995}
    
    \noindent \bibentry{VanVliet2000}
    
    
    \section{Outline of Topics}
    
    
    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}
    
    
    \section{Grade Assessment}
    
    
    \begin {enumerate}
    
    
    \item Assignments 30\% (Four equally weighted assignments)
    
    
    \item Midterm 25\%
    
    
    
    \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.
    
    % \section*{Log Book}
    
    % 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.
    
    \section{Midterm}
    
    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.
    
    \section{Final Examination}
    
    A final exam of 2.5 hour duration, covering the entire course, will be
    
    scheduled by the Registrar during the regular examination period. 
    
    \section{Policy Statements}
    
    This section summarizes the policy statements on calculators, improving the
    course, the Centre for Student Development, Missed Work, Discrimination and
    Academic Dishonesty.
    
    \subsection{Calculators}
    
    
    No calculators will be necessary (or permitted) in this course.
    
    
    \subsection{Improving the 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.
    
    \subsection{Discrimination}
    
    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.
    
    \subsection{Academic Dishonesty}
    
    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.
    
    \subsection{Course Evaluations}
    
    
    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
    
    \end{tabular}
    \ec
    %
    
    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.
    
    
    \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}