%\documentclass[handout]{beamer} 
\documentclass[t,12pt,numbers,fleqn]{beamer}
%\documentclass[ignorenonframetext]{beamer}

\newif\ifquestions
%\questionstrue
\questionsfalse

\usepackage{pgfpages} 
\usepackage{hyperref}
\hypersetup{colorlinks=true,
    linkcolor=blue,
    citecolor=blue,
    filecolor=blue,
    urlcolor=blue,
    unicode=false}
\urlstyle{same}

\usepackage{booktabs}
\usepackage{bibentry}
\usepackage[round, authoryear]{natbib}
\bibliographystyle{plainnat}

%\usetheme{Iimenau}

\useoutertheme{split} %so the footline can be seen, without needing pgfpages

%\pgfpagesuselayout{resize to}[letterpaper,border shrink=5mm,landscape]  %if this is uncommented, the hyperref links do not work

\mode<presentation>{}

\input{../def-beamer}

\newcommand{\topic}{01 Introduction}

\input{../titlepage}

\begin{document}

\nobibliography{../../ReferenceMaterial/References}

\input{../footline}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Introduction to CAS 741}

\bi
\item Administrative details
\item Brief course overview
\item Instructor introduction
\item Course outline
\item Student background
\ei
\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: Tues (2:30 -- 4:00) and Fri (1:30 -- 3:00)
\item Avenue for grade tracking (\url{http://avenue.mcmaster.ca/})
\begin{itemize}
\item Please put a picture on your profile
\item Click arrow beside Announcements, select Notifications
\end{itemize}
\item Teams
\item GitLab
\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} (public)
\item Publication resources available at:
  \url{https://gitlab.cas.mcmaster.ca/smiths/pub} (CAS)
\end{itemize}
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Administrative Details Cont'd}

\begin{itemize}

\item Your projects will be hosted on GitHub
\begin{itemize}
\item \url{https://github.com/}
\item Create an account, if you do not already have one
\item Give the instructor (me) master access to your repo
\item For most, your repo will follow my
\href{https://github.com/smiths/capTemplate} {template repo}
\end{itemize}
\item No penalty for using ChatGPT (or other LLM), but you need to give proper
credit and details on your queries
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Overview of the Course}

\begin{itemize}

\item Application of software engineering methodologies to improve the quality
  of scientific computing (or research) software

\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{What is Scientific Computing?}

\begin{itemize}

\item \structure{What is the definition of scientific computing?}
\item \structure{What are some examples of scientific computing and scientific
    computing software?}

\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Scientific Computing (SC)}

\begin{itemize}

\item Scientific computation consists of using computer tools to simulate
  mathematical models of real world systems so that we can better understand and
  predict the system's behaviour.
\item Includes analysis, design and ``exploration'' % point made by Isobel and Alex P

\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{SC Examples}

\begin{itemize}

\item Ballistics (one of the first uses of computing)
\item Temperature of fuel-pin in nuclear reactor
\item Flow of pollutant in groundwater
\item Displacement of a structure
\item Thickness of cast film
\item Temperature of water in a solar water heating tank over time
\item Ordinary Differential Equation solver
\item Root finding solver etc.
\item Optimization
\item Machine learning
\item Typical pattern: Input $\Rightarrow$ Calculate $\Rightarrow$ Output

\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{What is Software Engineering?}

\begin{itemize}

\item \structure{What is the definition of software engineering?}
\item \structure{What are some techniques, tools and principles for software
    engineering?}

\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Software Engineering (SE)}

\begin{itemize}
\item SE is 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 SE is ``application of a systematic, disciplined, quantifiable approach to
  the development, operation, and maintenance of software'' (IEEE 1990)
\item D.\ Parnas (1978) defines SE as ``multi-person
  construction of multi-version software''
\item Like other areas of engineering, SE relies heavily on
  mathematical techniques (logic and discrete math)
\item SE might be applied to SC for software certification
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{SE Tools, Techniques, and Principles}

\begin{itemize}
\item Tools
\bi
\item Programming languages
\item Version control software (git, svn, etc)
\item Debugger
\item Profiler
\item ...
\ei
\item Techniques
\bi
\item Documentation
\item Testing
\item Program families
\item Code generation
\item ...
\ei
\item Principles
\bi
\item Information hiding
\item Least privilege
\item ...
\ei
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Instructor}

\begin{itemize}

\item Instructor
\begin{itemize}
\item Dr.\ Spencer Smith ({\tt smiths@mcmaster.ca})
\item ITB/167
\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}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Introduction: Dr.\ Spencer Smith} 
\begin{itemize}
 
   \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 tools,
     techniques, and principles to improve the quality of scientific computing
     software.
 
 \end{itemize}

\end{frame}   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Course Introduction}

\begin{itemize}
\item Calendar description
\begin{itemize}
\item Principles of software development for reliable and sustainable scientific
  and engineering software
\item Systematic process for development and documentation of
\bi
\item Requirements
\item System architecture
\item Detailed design
\item Implementation
\item Verification and Validation Plan
\item Verification and Validation Report
\ei
\end{itemize}
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Course Project}

\begin {itemize}

\item Select a candidate SC problem
\bi
\item Requires approval from instructor
\item Will accommodate your interests as much as feasible
\item Select a project related to your research
\item Scope needs to be feasible within one term
\ei
\item Milestones (Traditional)
\be
\item Software Requirements Specification (SRS)
\item Module Guide (MG)
\item Module Interface Specification (MIS)
\item Implementation (and appropriate programming language)
\item VnV Plan
\item VnV Report
\ee
\item Deliverables can potentially be modified to provide project flexibility
\end {itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\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}
\item Related to scientific computing
\item Simple, but not trivial
\item If feasible, select a project related to your research
\item Possibly re-implement existing software
%\item Each student project needs to be unique
\item Possibly a specific physical problem
\item Possibly a (family of) general purpose tool(s)
\item Input $\Rightarrow$ Calculated $\Rightarrow$ Output
\item Significant role of assumptions
\item Challenging to verify (oracle problem)
\item Successive refinement of theories
%\item Some examples follow, the links are just places to get started
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{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} (DONE)
\item \href{http://chrishecker.com/Rigid_Body_Dynamics}{Rigid body dynamics}
\item
\href{https://www.omnicalculator.com/physics/buckling}
{Column buckling}
\item \href{https://en.wikipedia.org/wiki/Harmonic_oscillator}{Damped harmonic
oscillator} illustrated by
\href{http://lampx.tugraz.at/~hadley/physikm/apps/odeanalytic/dharmonic.en.php}
{online calculators}
\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 Reproduce the results in an existing paper
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Traditional: Specific Physical Problem (Cont'd)}
\begin{itemize}
\item \href{https://valdivia.staff.jade-hs.de/fachwerk_en.html} {2D Truss
Analysis}
\item Apply Kirchhoff's laws to
\href{https://www.youtube.com/watch?v=LVDX7T-jX3I} {balance a circuit}
\item
\href{https://faculty.ksu.edu.sa/sites/default/files/ce_382_chapter_8_seepage_1442_r.pdf}
{2D seepage}
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{More Complex, but Already Started Projects}
\begin{itemize}
\item 3D aorta segmentation
\item \href{https://github.com/smiths/vdisp} {Vdisp}
\end{itemize}
\begin{center}
\includegraphics[scale=0.35]{../Figures/Aorta.jpg}
\end{center}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{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{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 or higher 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{Sample Traditional Projects From Previous Years}
\begin{itemize}
\item \href{https://github.com/DeeshaPatel/CAS-741-Solar-Cooker} {Solar Cooker}
\item \href{https://github.com/machadotiagom/CAS_741_Project} {3D Image Reconstruction in Medical Ultrasound}
\item \href{https://github.com/icbicket/SpectrumImageAnalysisPy} {Spectrum Image Analysis}
\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/tree/master/Examples/SoilWaterStructureInteraction} {Soil-Water-Structure Interaction (FEM)}
\item \href{https://github.com/palmerst/cas741_sp} {Chemical Speciation}
\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/tree/master/Examples?ref_type=heads} {Examples folder}
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Sample Drasil Projects From Previous Years}
\begin{itemize}
\item
\href{https://github.com/JacquesCarette/Drasil/wiki/Creating-Your-Project-in-Drasil\#creating-your-project-in-drasil}
{Creating a project in Drasil}
\item
\href{https://github.com/balacij/Drasil/tree/beamBending/code/stable/bmbnd}
{Generated SRS for Beam Bending}
\item
\href{https://github.com/samm82/Drasil/tree/chemCode/code/stable/chemcode/SRS}
{Generated SRS for Chemical Balance}
\item \href{https://jacquescarette.github.io/Drasil/examples/pdcontroller/SRS/srs/PDController_SRS.html} {PD Controller} 
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Extending Drasil Projects (Experts only)}
\begin{itemize}
\item Refinement theories version of requirements
\item Teach Drasil about machine learning
\item Code generation for game physics or another existing example
\item Generation of a family of miniphysics games or visualizations
\item \href{https://github.com/JacquesCarette/Drasil/wiki/Potential-Projects}
{Potential projects wiki for inspiration}
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}

\frametitle{``Faked'' Rational Design Process}

\begin{center}
\includegraphics[scale=0.4]{../Figures/Waterfall.pdf}
\end{center}

See Parnas and Clements 1986 about ``Faking It''

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}

\frametitle{Our ``Faked'' Process}

\begin{center}
\includegraphics[scale=0.55]{../Figures/VModelOfProcess.pdf}
\end{center}
\vspace{-1.0cm}
V Model

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}

\frametitle{Our Deliverables}

\begin{center}
\includegraphics[scale=0.55]{../Figures/VModelOfProcessXOut.pdf}
\end{center}
\vspace{-1.0cm}
Not all docs necessary

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Course Structure}

\begin {itemize}

\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

\end {itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Grade Assessment}

\begin {itemize}

\item (Traditional and Drasil) Presentations and class discussion 5\%

\item (Traditional and Drasil) ``Domain Expert'' and secondary reviewer roles 10\%

\item (Traditional and Drasil) Problem Statement, Risk, Proof of Concept (POC) Plan 0\%

\item (Traditional and Drasil) System Requirements Specification (SRS) 15\%

\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 15\%

\item (Traditional) Module Guide and Module Interface Specification (MG and MIS)
  15\%

\item (Drasil) Drasil code and Code Explanation Document 15\%

\end {itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\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}

All projects are expected
\begin{itemize}
  \item to be hosted in public GitHub repos
  \item to use Continuous Integration (CI)
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Challenge Level and Extras}

\begin {itemize}

\item Projects have a challenge level of advanced or general
\item The basic category is not allowed for projects
\item The challenge comes from 
\begin{itemize}
  \item Domain knowledge
  \item Implementation challenges
  \item Other sources
\end{itemize}
\item For full grades a general challenge level requires Extras
\begin{itemize}
  \item Usability testing
  \item Rigorous code walkthroughs
  \item User documentation
  \item Formal proof
  \item GenderMag personas
  \item Design thinking
  \item Etc.
\end{itemize}
\item Extras can be used as bonus grades for advanced projects
\end {itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Advanced Versus General}

\begin {itemize}

\item Advanced
\begin{itemize}
  \item Novel
  \item Senior undergrad level or graduate level domain knowledge or implementation
  \item Large project scope
  \item Limited use of external libraries
  \item \href{https://github.com/omltcat/turbulent-flow} {Artificial turbulence
  boundary conditions}
\end{itemize}
\item General
\begin{itemize}
  \item Not particularly novel
  \item Senior highschool level or junior undergraduate level domain knowledge or implementation
  \item Limited project scope
  \item Heavy use of external libraries
  \item \href{https://github.com/WaqarAwan376/Damped_Harmonic_Oscillator-CAS741}
  {Damped harmonic oscillator}
\end{itemize}
\item Challenge level and extras documented in problem statement and \texttt{Repos.csv}
\end {itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Libraries}

\begin {itemize}

\item In general the use of external libraries is encouraged
\item However, every project is required to have scientific computing code
\item Projects with complex domain knowledge might use libraries, like an ODE
solver
\item Projects based on computational algorithms will generally implement those
algorithms ``by hand''
\item Discuss the specifics for your project with the course instructor 
\item Details documented in Problem Statement
\end {itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Policy Statements}

\begin {itemize}

\item Ideas to improve the course are welcomed
\item Missed/late work please communicate in advance, 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}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Academic Dishonesty}

\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 It is your responsibility to understand what constitutes academic dishonesty
\item Three examples of academic dishonesty
\begin{itemize}
\item Plagiarism
\item Improper collaboration
\item Copying or using unauthorized aids in tests and examinations
\end{itemize}
\item Academic dishonesty will not be tolerated!
\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}

Probably best to use the same order when doing your requirements presentation

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Student Background} %show of hands

\begin{itemize}
\item Your name
\item Degree program, supervisor's name %In CAS or external?
\item Academic background %Masters? PhD?
\item Experience with:
  \begin{itemize}
  \item Science (such as physics)
  \item Scientific computing
  \item Continuous math
  \item Discrete math
  \item Software engineering
  \item Software development technology
    \begin{itemize}
    \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}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Assigned Reading}

As often as possible, hyperlinks are included for references in the lecture
slides

\begin {itemize}

\item
  \href{https://gitlab.cas.mcmaster.ca/smiths/pub/-/blob/master/Smith2016.pdf}
  {\bibentry{Smith2016}}
\item
  \href{https://gitlab.cas.mcmaster.ca/smiths/pub/-/blob/master/SmithEtAl2007.pdf}
  {\bibentry{SmithEtAl2007}}
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
\frametitle{Assigned Reading Cont'd}

\begin {itemize}

\item
  \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/srs/SWHS_SRS.html}
  {Solar Water Heating System Example SRS (Generated by Drasil)}
\item
  \href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/srs/SWHSNoPCM_SRS.html}
  {Simplified Solar Water Heating System Example SRS (Generated by Drasil)}
\item
  \href{https://jacquescarette.github.io/Drasil/examples/projectile/SRS/srs/Projectile_SRS.html}
  {Projectile Example SRS (Generated by Drasil)}
\item
  \href{https://github.com/smiths/caseStudies/blob/master/CaseStudies/projectile/projectileSRS_RefinedTheories/Projectile_SRS.pdf}
  {Refined Theories Projectile SRS}
\end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\end{document}