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

Revisions of introduction lecture and associated changes to the course outline

parent 213df8b3
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -166,6 +166,7 @@ waterfall model. Typically, students will use one of two methodologies:
\begin {enumerate}
\item Software Requirements Specification (SRS) draft, as for manual
\item SRS generation in Drasil
\item Drasil design choices and explanation
\item Code generation (Drasil supported programming languages)
\item Verification and Validation (VnV) Plan (manually produced)
\item Verification and Validation (VnV) Report (manually produced)
......@@ -185,7 +186,10 @@ With approval from the instructor, the deliverables can potentially be modified,
if a project is more suited to a different structure. For instance, a project
could replace one of the above deliverables with an assurance case deliverable,
or with a greater emphasis on domain specific code to automatically build the
deliverables.
deliverables. Projects that add something substantial to the base requirements
are eligible for a bonus grade of up to 50\%. For instance, adding support for
an external library to Drasil is worth additional marks. The specific bonus
should be discussed with the instructor in advance.
\section {Course Structure}
......@@ -207,7 +211,7 @@ code to generate the documentation and code.
\item (Traditional and Drasil) ``Domain Expert'' and secondary reviewer roles 10\%
\item (Traditional and Drasil) Problem Statement 0\%
\item (Traditional and Drasil) Problem Statement, Risk, Proof of Concept (POC) Plan 0\%
\item (Traditional and Drasil) System Requirements Specification (SRS) Document 15\%
......@@ -238,10 +242,10 @@ Each student will be assigned as a ``Domain Expert'' (DE) for one of their
classmates. The DE will review (via GitHub issues) their assigned project. % In
% addition, they will write the code for one of the modules of their assigned
% project and issue a pull request through GitHub.
For the secondary reviewer
role, the instructor will assign various review tasks throughout the term. The
secondary reviewers feedback will focus more on the structure and format of the
documentation, rather than on issues related to domain knowledge.
For the secondary reviewer role, the instructor will assign various review tasks
throughout the term. The secondary reviewers feedback will focus more on the
structure and format of the documentation, rather than on issues related to
domain knowledge.
\section {Policy Statements}
......
No preview for this file type
%\documentclass[handout]{beamer}
%\documentclass[handout]{beamer}
\documentclass[t,12pt,numbers,fleqn]{beamer}
%\documentclass[ignorenonframetext]{beamer}
......@@ -47,24 +47,42 @@
\frametitle{Introduction to CAS 741 (CES 741)}
\bi
\item Scholar Strike
\item Administrative details
\item Brief overview of course
\item Introductions
\item Course outline
\item Requirements
\ei
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Scholar Strike}
\begin{itemize}
\item
\href{https://www.cbc.ca/news/canada/manitoba/manitoba-scholars-strike-black-lives-canada-1.5717066}
{Scholar Strike}
\item One small step for improvement is to watch for
\href{https://builtin.com/diversity-inclusion/unconscious-bias-examples}
{unconscious bias}
\item Does anyone have any comments they wish to share?
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details}
\begin{itemize}
\item New Grad Stdnt Orientation: Mon, Sept 9, 10 am -- 1 pm %may
%cancel our class
\item Lectures: Mon and Thurs, 10:30 am -- 12:00 noon
% \item New Grad Stdnt Orientation: Mon, Sept 9, 10 am -- 1 pm %may
% %cancel our class
\item Lectures: Mon (11:30 --1:00) and Thurs (2:30 -- 4:00)
\item Avenue for grade tracking
\begin{itemize}
\item \url{http://avenue.mcmaster.ca/}
......@@ -74,7 +92,10 @@
\begin{itemize}
\item \url{https://gitlab.cas.mcmaster.ca/}
\item Create your account by logging in, option to set CAS password to MacID password
\item Course material and issue tracking at \url{https://gitlab.cas.mcmaster.ca/smiths/cas741}
\item Course material and issue tracking at:
\url{https://gitlab.cas.mcmaster.ca/smiths/cas741} (public)
\item Publication resources available at:
\url{https://gitlab.cas.mcmaster.ca/smiths/pub} (CAS)
\end{itemize}
\item Your projects will be hosted on GitHub
\begin{itemize}
......@@ -95,11 +116,11 @@
\begin{itemize}
\item Application of software engineering methodologies to improve the quality
of scientific computing software
of scientific computing (or research) software
\item \structure{What is the definition of scientific computing?}
\item \structure{What are some examples of scientific computing and scientific
computing software?}
\item \structure{What is the definition of software engineeing?}
\item \structure{What is the definition of software engineering?}
\item \structure{What are some techniques, tools and principles for software
engineering?}
......@@ -200,10 +221,10 @@
\item Instructor
\begin{itemize}
\item Dr.\ Spencer Smith ({\tt smiths@mcmaster.ca})
\item ITB/167
\item Drop in or make an appointment
\item Feel free to make use of the instructor's
\href{http://www.cas.mcmaster.ca/~smiths/SSmithSchedule.html} {schedule}
\item ITB/167 (when campus opens)
\item Feel free to make an appointment
\item Use instructor's
\href{http://www.cas.mcmaster.ca/~smiths/SSmithSchedule.html} {schedule}
\end{itemize}
\end{itemize}
......@@ -252,11 +273,11 @@
\item Software engineering
\item Software development technology
\begin{itemize}
\item Git
\item GitHub or GitLab
\item Git (GitHub or GitLab)
\item LaTeX
\item Make etc.
\end{itemize}
\item Your preferred OS
\end{itemize}
\item What do you hope to get out of this course?
\end{itemize}
......@@ -301,7 +322,7 @@
\item Select a project related to your research
\item Scope needs to be feasible within one term
\ei
\item Milestones
\item Milestones (Traditional)
\be
\item Software Requirements Specification (SRS)
\item Module Guide (MG)
......@@ -317,6 +338,32 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{``Drasil'' Milestones}
\begin{itemize}
\item \href{https://github.com/JacquesCarette/Drasil}{Drasil} is used to capture
knowledge and generate documentation and code
\begin {enumerate}
\item Software Requirements Specification (SRS) draft, as for manual
\item SRS Generated by Drasil
\item Drasil design choices and explanation
\item Code generation (Drasil supported language, or languages)
\item VnV Plan (manually produced)
\item VnV Report (manually produced)
\end {enumerate}
\item No grade advantage for one approach over the other
\item Can switch from Drasil to traditional
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Project Selection: Desired Qualities}
\begin{itemize}
......@@ -333,6 +380,78 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Project Selection (Traditional): Specific Physical Problem}
\begin{itemize}
\item
\href{https://ocw.mit.edu/courses/mathematics/18-303-linear-partial-differential-equations-fall-2006/lecture-notes/heateqni.pdf}{
Heated
rod}
\item \href{http://www.tech.plym.ac.uk/sme/THER204B-web/Heatran2.PDF}{Heated plate}
\item \href{https://en.wikipedia.org/wiki/Double_pendulum}{Double pendulum}
\item \href{http://chrishecker.com/Rigid_Body_Dynamics}{Rigid body dynamics}
\item Column buckling
\item \href{https://en.wikipedia.org/wiki/Harmonic_oscillator}{Damped harmonic oscillator}
\item Stoichiometric calculations (chemical balance)
\item
\href{http://www.tiem.utk.edu/~gross/bioed/bealsmodules/predator-prey.html}{Predator
prey dynamics}
\item Imaging: filters, edge detection etc.
\item Medical Imaging
\item etc.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Project Selection (Traditional): General Purpose Tools}
\begin{itemize}
\item \href{https://en.wikipedia.org/wiki/Numerical_methods_for_ordinary_differential_equations}{Solution of ODEs}
\item \href{https://en.wikibooks.org/wiki/Numerical_Methods/Solution_of_Linear_Equation_Systems}{Solution of $A x = b$}
\item \href{https://en.wikipedia.org/wiki/Linear_regression}{Regression}
\item \href{https://en.wikibooks.org/wiki/Introduction_to_Numerical_Methods/Interpolation}{Interpolation}
\item \href{https://en.wikipedia.org/wiki/Numerical_integration}{Numerical integration}
\item \href{https://en.wikipedia.org/wiki/Fast_Fourier_transform}{FFT}
\item \href{https://en.wikipedia.org/wiki/Mesh_generation}{Mesh generation}
\item \href{https://en.wikipedia.org/wiki/Finite_element_method}{Finite element method}
\item Any chapter from a standard numerical methods textbook
\item etc.
\item The tool shouldn't be too simple
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Project Selection (Drasil): Specific Physical Problems}
\begin{itemize}
\item Set of explicit equations with the variables of interest isolated on one
side of the equation (like
\href{https://jacquescarette.github.io/Drasil/examples/GlassBR/srs/GlassBR_SRS.html}{GlassBR},
or \href{https://jacquescarette.github.io/Drasil/examples/Projectile/srs/Projectile_SRS.html} {Projectile})
\item First order Initial value problem (like
\href{https://jacquescarette.github.io/Drasil/examples/NoPCM/srs/NoPCM_SRS.html}
{NoPCM})
\item Examples
\begin{itemize}
\item Cooling of a uniform temperature body over time
\item Charging or discharging of a capacitor
\item Flow into a reservoir
\item Population growth
\item Blood alcohol level over time
\item
\href{http://ugrad.math.ubc.ca/coursedoc/math103/keshet.notes/chapter11Notes.pdf}{Some
potential problems}
\item Worked example in a physics or chemistry textbook, using equations, like
solving for the forces in a statically indeterminate structure
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{``Faked'' Rational Design Process}
......@@ -383,6 +502,7 @@ Not all docs necessary
\item Student and instructor presentations
\item Classroom discussions
\item Will present a subset of your documentation for in-class feedback
\item Will do a proof of concept demonstration early in the term
\item Structure from our documentation
\item Use GitHub issue tracker for feedback from other students
......@@ -395,27 +515,41 @@ Not all docs necessary
\begin{frame}
\frametitle{Grade Assessment}
\begin {enumerate}
\begin {itemize}
\item (Traditional and Drasil) Presentations and class discussion 5\%
\item Presentations and class discussion 5\%
\item (Traditional and Drasil) ``Domain Expert'' and secondary reviewer roles 10\%
\item ``Domain Expert'' and secondary reviewer roles 10\%
\item (Traditional and Drasil) Problem Statement, Risk, Proof of Concept (POC) Plan 0\%
\item Problem Statement 0\%
\item (Traditional and Drasil) System Requirements Specification (SRS) 15\%
\item System Requirements Specification (SRS) 15\%
\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 15\%
\item System Verification and Validation (VnV-Syst) Plan 15\%
\item (Traditional) Module Guide and Module Interface Specification (MG and MIS)
15\%
\item Module Guide and Module Interface Specification (MG and MIS) 15\%
\item (Drasil) Drasil code and Code Explanation Document 15\%
\item Final Documentation (including revised versions of previous documents,
plus the source code, unit testing plan, reflection report and testing
reports (System and Unit)) 40\%
\end {itemize}
\item Drasil simple physics example, pull request accepted 5\% (Bonus)
\end{frame}
\end {enumerate}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Grade Assessment Cont'd}
\begin {itemize}
\item (Traditional and Drasil) Final Documentation (including revised versions
of previous documents, plus the source code, unit testing plan, reflection
report and testing reports (System and Unit)) 40\%
\item Addition to Drasil infrastructure, pull request accepted (up to) 50\% (Bonus)
\end {itemize}
\end{frame}
......@@ -443,9 +577,11 @@ Not all docs necessary
\begin {itemize}
\item Academic dishonesty consists of misrepresentation by deception or by other fraudulent means
\item Can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on
the transcript, and/or suspension or expulsion from the university.
\item Academic dishonesty consists of misrepresentation by deception or by other
fraudulent means
\item Can result in serious consequences, e.g. the grade of zero on an
assignment, loss of credit with a notation on the transcript, and/or
suspension or expulsion from the university.
\item It is your responsibility to understand what constitutes academic dishonesty
\item Three examples of academic dishonesty
\begin{itemize}
......@@ -469,10 +605,10 @@ slides
\begin {itemize}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/blob/master/ReferenceMaterial/SoftEngForScienceBook.pdf}
\href{https://gitlab.cas.mcmaster.ca/smiths/pub/-/blob/master/Smith2016.pdf}
{\bibentry{Smith2016}}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/blob/master/ReferenceMaterial/SmithLaiAndKhedri2007fulltext.pdf}
\href{https://gitlab.cas.mcmaster.ca/smiths/pub/-/blob/master/SmithEtAl2007.pdf}
{\bibentry{SmithEtAl2007}}
\end{itemize}
......@@ -481,28 +617,40 @@ slides
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Assigned Reading}
\frametitle{Assigned Reading Cont'd}
\begin {itemize}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/blob/master/ReferenceMaterial/ParnasAndClements1986.pdf}
\href{https://gitlab.cas.mcmaster.ca/smiths/pub/-/blob/master/ParnasAndClements1986.pdf}
{\bibentry{ParnasAndClements1986}}
\item \href{https://github.com/smiths/swhs}{Solar Water Heating System Example}
\item
\href{https://jacquescarette.github.io/Drasil/examples/SWHS/srs/SWHS_SRS.html}
{Solar Water Heating System Example SRS (Generated by Drasil)}
\item
\href{https://jacquescarette.github.io/Drasil/examples/NoPCM/srs/NoPCM_SRS.html}
{Simplified Solar Water Heating System Example SRS (Generated by Drasil)}
\item
\href{https://jacquescarette.github.io/Drasil/examples/Projectile/srs/Projectile_SRS.html}
{Projectile Example SRS (Generated by Drasil)}
\item Recommended reading order for SRS documents
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Recommended Reading Order SRS}
\begin{itemize}
\item Goal Statement
\item Instance Models
\item Requirements
\item Introduction
\item Specific System Description
\end{itemize}
\end{itemize}
......
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