diff --git a/Lectures/L02_GettingStarted/GettingStarted.pdf b/Lectures/L02_GettingStarted/GettingStarted.pdf index 46916d92c0382e623eb28a2db6406d24f431d412..c2c67a1bb99ad9a7410a1c0808e9a1eb3e2ad89d 100644 Binary files a/Lectures/L02_GettingStarted/GettingStarted.pdf and b/Lectures/L02_GettingStarted/GettingStarted.pdf differ diff --git a/Lectures/L02_GettingStarted/GettingStarted.tex b/Lectures/L02_GettingStarted/GettingStarted.tex index 5360f99e4e69dcf31b5f5945891023809ff59f64..e9e791aab15f38d6bd1324e906826f076706a11d 100755 --- a/Lectures/L02_GettingStarted/GettingStarted.tex +++ b/Lectures/L02_GettingStarted/GettingStarted.tex @@ -56,8 +56,9 @@ \bi \item Administrative details -\item Any more introductions? -\item Project choices +\item Additional introductions +\item Traditional project choices +\item Drasil project choices \item Software tools \begin{itemize} \item Git, GitLab and GitHub (Issue Creating Exercise) @@ -80,16 +81,15 @@ \href{https://gitlab.cas.mcmaster.ca/smiths/cas741} {https://gitlab.cas.mcmaster.ca/smiths/cas741} \item Use folder structure given in repo (will be updating) -\item Post any questions as issues in our repo \item Create a GitHub account if you don't already have one \item Add \texttt{smiths} to your GitHub repos \item Problem statement \begin{itemize} -\item Problem statement due Thurs, Sept 19 by 11:59 pm +\item Problem statement due Mon, Sept 21 by 11:59 pm \item Assign the instructor an issue to review your problem statement \end{itemize} -\item Issue creating exercises due Thurs, Sept 19 by 10:30 am +\item Issue creating exercises due Fri, Sept 18 by 1:00 pm \item Feel free to add me to you Linked-In network \ei @@ -104,7 +104,7 @@ \item Creates issues for their partner's written deliverables \item Asks questions during their partner's presentations -\item Implements one module following their partner's spec +%\item Implements one module following their partner's spec \end {itemize} @@ -126,15 +126,16 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame} -\frametitle{Administrative Details: Presentations} +\frametitle{Administrative Details: Presentations (Draft Deadlines)} ~\newline \begin{tabular}{l l l} -SRS Present & Week 05 & Week of Sept 30\\ -Syst.\ VnV Present & Week 07 & Week of Oct 21\\ -MG + MIS Syntax Present & Week 9 & Week of Nov 4\\ -MIS Semantics Present & Week 11 & Week of Nov 18\\ -Unit VnV or Implement Present & Week 12/13 & Week of Nov 28\\ +SRS Present & Week 05? & Week of Sept 30?\\ +POC Demo & Week 06? & Week of Oct 6?\\ +Syst.\ VnV Present & Week 07? & Week of Oct 21?\\ +MG + MIS Syntax Present & Week 9? & Week of Nov 4?\\ +MIS Semantics Present & Week 11? & Week of Nov 18?\\ +Unit VnV or Implement Present & Week 12/13? & Week of Nov 28?\\ \end {tabular} \bi @@ -150,16 +151,16 @@ Unit VnV or Implement Present & Week 12/13 & Week of Nov 28\\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame} -\frametitle{Administrative Details: Report Deadlines} +\frametitle{Administrative Details: Draft Report Deadlines} ~\newline \begin{tabular}{l l l} -Issue Creation Exercise & Week 03 & Sept 19\\ -Problem Statement & Week 03 & Sept 19\\ -System Requirements Specification (SRS) & Week 06 & Oct 7\\ -System VnV Plan & Week 08 & Oct 28\\ -Module Guide (MG) + Mod Int Spec (MIS) & Week 10 & Nov 25\\ +Issue Creation Exercise & Week 02 & Sept 18\\ +Problem Statement & Week 03 & Sept 21\\ +System Requirements Specification (SRS) & Week 06? & Oct 7?\\ +System VnV Plan & Week 08? & Oct 28?\\ +Module Guide (MG) + Mod Int Spec (MIS)? & Week 10? & Nov 25?\\ %Unit VnV Plan & Week 14 & Dec 3\\ -Final Documentation & Week 14 & Dec 9\\ +Final Documentation & Week 14? & Dec 9?\\ \end {tabular} \bi @@ -167,7 +168,26 @@ Final Documentation & Week 14 & Dec 9\\ 11:59 pm of the due date \item If you need an extension, please ask \item Two days after each major deliverable, your GitHub issues will be due -\item Domain expert code due 1 week after MIS deadline +%\item Domain expert code due 1 week after MIS deadline +\ei + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Administrative Details: Optional Study Participation} + +\bi +\item You will be contacted by Oluwaseun (Olu) Owojaiye for potential + participation in a study +\item ``Traditional'' versus ``Generative'' for software development +\item If you participate you will be interviewed and asked to record some + details of how you spend your development time +\item Participation is entirely voluntary +\item The course instructor will not know who has participated +\item Participation or non-Participation will not effect your grade +\item Olu will visit our class on Thursday to discuss further \ei \end{frame} @@ -211,8 +231,8 @@ Final Documentation & Week 14 & Dec 9\\ \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 A specific physical problem +%\item Possibly a (family of) general purpose tool(s) \item Some examples follow, the links are just places to get started \end{itemize} \end{frame} @@ -227,7 +247,8 @@ Final Documentation & Week 14 & Dec 9\\ 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{https://en.wikipedia.org/wiki/Double_pendulum}{Double pendulum + (previously done)} \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} @@ -262,18 +283,91 @@ Final Documentation & Week 14 & Dec 9\\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame} +\includegraphics[width=1\textwidth]{../Figures/generate_all_the_things.jpg} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + +\frametitle{Knowledge Capture} + +\includegraphics[width=1.0\textwidth]{../Figures/KC.jpg} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + +\frametitle{Drasil} +\vspace{-1cm} +\begin{center} +\includegraphics[height=20em]{../Figures/tree.png} +\end{center} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} +\frametitle{Introduction to Drasil} +\begin{itemize} +\item Drasil uses a generative approach +\item Knowledge is captured in a Domain Specific Language (DSL) +\item Documentation (in tex and html) and code (in Java, C++, C\#, Python and + Swift) are generated +\item Changes are propagated throughout documentation and code +\item Consistency and completeness checks +\item Reuse throughout document, between documents and between projects +\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{Tool Tutorials} \begin{itemize} \item Best way to learn is by doing \item Some getting started information and exercises in the - \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/tree/master/ToolTutorials} {ToolTutorials} - folder, modified from undergrad classes + \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/tree/master/ToolTutorials} + {ToolTutorials} folder, modified from undergrad classes \item Tutorials for \href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/tree/master/Tutorials} {se 2aa4 and cs 2me3} \item Many other resources on-line \item Your colleagues can help too +\item + \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/tree/master/Tools/VM_Instructions} + {Instructions for setting up a Virtual Machines} \end{itemize} \end{frame} @@ -328,14 +422,17 @@ First either init repo or clone (git init, git clone), then typical workflow is \frametitle{GitLab and GitHub Issue Tracking} \bi -\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/tree/master/ToolTutorials/gitAndGitLab}{See brief document in course repo} -\item \href{https://github.com/JacquesCarette/literate-scientific-software/issues}{See - examples} +\item + \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/tree/master/ToolTutorials/gitAndGitLab} + {See brief document in course repo} +\item + \href{https://github.com/JacquesCarette/literate-scientific-software/issues} + {See examples} \item Tutorials for \href{https://gitlab.cas.mcmaster.ca/smiths/se2aa4_cs2me3/tree/master/Tutorials/T01a-Git/slides} {se 2aa4 and cs 2me3} -\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/issues}{Create an issue} -\ei +\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/issues} {Create an + issue} \ei \end{frame} @@ -345,7 +442,7 @@ First either init repo or clone (git init, git clone), then typical workflow is \frametitle{Issue Creating Exercise} \bi -\item Due by Thurs, Sept 19, 10:30 am +\item Due by Friday, Sept 18, 1:00 pm \item Create 2 to 3 issues for case studies in Drasil repo \item \href{https://jacquescarette.github.io/Drasil/} {https://jacquescarette.github.io/Drasil/} @@ -435,7 +532,7 @@ scientific software. \item or a knowledge acquisition driven process~\cite{Kelly2015}. \ei \item Scientists do not view rigid, process-heavy approaches, - favorably~\cite{CarverEtAl2007} + favourably~\cite{CarverEtAl2007} \item Reports for each stage of development are counterproductive~\cite[p.~373]{Roache1998} \item Up-front requirements are impossible~\cite{CarverEtAl2007, SegalAndMorris2008}