Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • liangb30/cas-741-boliang
  • pignierb/cas741
  • jimoha1/cas741
  • huoy8/cas741
  • grandhia/cas741
  • chenq84/cas741
  • yex33/cas741
  • xuey45/cas741
  • garcilau/cas-741-uriel-garcilazo-msa
  • schankuc2/cas741
  • ahmady3/cas741
  • saadh/cas741
  • singhk56/cas741
  • lin523/cas741
  • fangz58/cas741
  • tranp30/cas741
  • ceranich/cas741
  • norouf1/cas741
  • mirzam48/cas741
  • djavahet/cas741
  • hossaa27/cas741
  • yiding_el/cas-741-upate-name
  • sayadia/cas741
  • elmasn2/cas741
  • cheemf8/cas741
  • cheny997/cas741
  • ma209/cas741
  • mousas26/cas741
  • liuy363/cas741
  • wongk124/cas741
  • dua11/cas741
  • zhoug28/cas741
  • courses/cas-741-tst
  • liy443/cas-741-fork-csv
  • sochania/cas741
  • liy443/cas-741-update-csv-old
  • mahdipoa/cas741
  • wangz892/cas741
  • wangn14/cas741
  • defourej/cas741
  • zhaox183/cas741
  • smiths/cas741
42 results
Show changes
Commits on Source (134)
Showing
with 630 additions and 140 deletions
No preview for this file type
......@@ -99,7 +99,7 @@ skills from physical modelling, mathematics, numerical analysis and computer
science. For this reason it is important that we clearly document requirements
(including assumptions) and design decisions.
\subsection*{Course Website}
\subsection*{Avenue, GitLab, GitHub and Teams}
This course will be administered via Avenue to Learn. Go to
......@@ -124,9 +124,9 @@ discuss this with the Instructor.
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:
The primary purpose of Avenue will be for maintaining grades. Most of the
course content will be maintained in a public git (CAS GitLab) repository. You
can access this repository at:
~\newline
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/}{https://gitlab.cas.mcmaster.ca/smiths/cas741/}\\
......@@ -135,13 +135,20 @@ You can access this repository at:
% questions (issues) to the GitLab issue tracker.
In addition to Avenue and the Gitlab course note repository, every student will
create a public gitHub repository (with the instructor added as a full access
create a public GitHub repository (with the instructor added as a full access
collaborator) for their work. The GitHub server is at
\url{https://github.com/}. Each student's repo will start from the given
\href{https://github.com/smiths/capTemplate} {template repo}. Students will be
expected to use GitHub to provide comments on the work of other students in the
class.
We will use Teams for for discussion. Our communication policy is that questions
that are relevant to other students in the class should be posted on Teams.
That way everyone can benefit from the discussion. Questions that are relevant
to only one individual, should be sent to the instructor via e-mail. Please
send only normal McMaster e-mail; do not send mail via Avenue or direct messages
using Teams.
\subsection*{Classes}
Classes will be held in person in the graduate classroom (ITB/222).
......@@ -197,13 +204,19 @@ the instructor in advance.
The format of the course will consist of student and instructor presentations.
Each student will be expected to do an informal presentation on some subset of
their SRS, MG, MIS, Drasil, Implementation, VnV Plan and VnV Report. It is
expected the class discussion will assist in improving the quality of the
written deliverables. Each student following the traditional approach will be
expected to virtually hand in the following written documents: SRS, MG, MIS, VnV
Plan, VnV Report, code and Final Documentation. The deliverables for the Drasil
approach are the same, except we replace the MG and MIS with the Drasil code to
generate the documentation and code.
their SRS, MG, MIS, Drasil, Implementation, VnV Plan and VnV Report. The class
discussion during each presentation will assist in improving the quality of the
written deliverable. Given the term-long goal of improving each project,
students should be prepared for criticism during their presentations. This
criticism is part of formative learning; it is part of the learning process. It
will not effect the presentation grades. Please let the instructor know if you
have any concerns with the feedback you receive.
Each student following the traditional approach will be expected to virtually
hand in the following written documents: SRS, MG, MIS, VnV Plan, VnV Report,
code and Final Documentation. The deliverables for the Drasil approach are the
same, except we replace the MG and MIS with the Drasil code to generate the
documentation and code.
\section {Grading}
......@@ -211,19 +224,19 @@ generate the documentation and code.
\item (Traditional and Drasil) Presentations and class discussion 5\%
\item (Traditional and Drasil) ``Domain Expert'' and secondary reviewer roles 10\%
\item (Traditional and Drasil) ``Domain Expert'' reviewer role 5\%
\item (Traditional and Drasil) Problem Statement, Risk, Proof of Concept (POC) Plan 0\%
\item (Traditional and Drasil) System Requirements Specification (SRS) Document 15\%
\item (Traditional and Drasil) System Requirements Specification (SRS) Document 10\%
\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 15\%
\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 10\%
\item (Traditional) Module Guide and Module Interface Specification (MG and MIS) 15\%
\item (Traditional) Module Guide and Module Interface Specification (MG and MIS) 10\%
\item (Drasil) Drasil code and Code Explanation Document 15\%
\item (Drasil) Drasil code and Code Explanation Document 10\%
\item (Traditional and Drasil) Final Documentation 40\%
\item (Traditional and Drasil) Final Documentation 60\%
\begin{enumerate}
\item Problem Statement (Revised)
\item SRS (Revised)
......@@ -236,18 +249,34 @@ generate the documentation and code.
\item System VnV Report
\item Unit VnV Report
\item Reflection Report
\item Extra task (for non-research projects, see below)
\end{enumerate}
\end {enumerate}
All projects are expected to use Continuous Integration (CI), unless there is a
compelling reason (agreed on with the instructor) why CI is not an option.
\subsection{Peer Review}
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.
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.
\subsection{Challenge Level and Extra Tasks}
Due to differences in interests and background, students in this course will
select topics with varying levels of complexity in the required domain knowledge
and possibly in the implementation. If a project requires graduate-level domain
knowledge, it is classified as a ``research'' project. For projects that are
not ``research'' projects, an extra task required. Examples of extra tasks
include usability testing, rigorous code walkthroughs, user manual, formal
proof, etc. If a research project does extra work, the extra work is graded as
a bonus. The extra task is evaluated as part of the final documentation.
\section {Policy Statements}
......
Num, Last Name, First Name, e-mail, GitHub ID, Supervisor, Project Name, Project Topic, Traditional or Drasil or Other, GitHub Repos url, Branch, Prob State Approval?, Domain Expert Reviewer - Primary Reviewer, SRS: Secondary, VnV Plan:Secondary, MG + MIS or Drasil:Secondary
0, Last Name, First Name, email@mcmaster.ca, githubid, Dr. X, projName, Project Title, traditional or Drasil, https://github.com/..., branch, Yes/No, name, name, name, name
1, Li, Yiding, liy443@mcmaster.ca, Tan630, Dr. Christopher Anand, agolearn, Derivative-free evolutionary optimizer for real-valued and higher-order functions, Traditional, https://github.com/Tan630/CAS741, main, YES, Fasil Cheema, Fatemeh, Tanya, Phil
2, Sochaniwsky, Adrian, sochania@mcmaster.ca, adrian-soch, Dr. v. Mohrenschildt, Attitude Check, IMU-based Attitude Estimation, Traditional, https://github.com/adrian-soch/attitude_check, main, YES, Hunter Ceranic, Fasil, Fatemeh, Tanya
3, Liu, Cynthia, liuy363@mcmaster.ca, CynthiaLiu0805, Dr. Spencer Smith, Bridge Corrosions, A Mathematical Model for Bridge Corrosion, Traditional, https://github.com/CynthiaLiu0805/BridgeCorrosion, main, YES, Phil, Hunter, Fasil, Fatemeh
4, Ceranic, Hunter, ceranich@mcmaster.ca, cer-hunter, Dr. Denise Geiskkovitch, OAR, Optical Alphabet Recognition using Logistic Regression, Traditional, https://github.com/cer-hunter/OAR-CAS741, main, YES, Adrian Sochaniwsky, Phil, Gaofeng, Yiding
5, Vreugdenhil, Valerie, vreugdev@mcmaster.ca, vgvreug, Dr. Ned Nedialkov, Stoichiometry Calculator, Stoichiometry calculator for chemical equations, Traditional, https://github.com/vgvreug/StoichCalc, main, YES, Gaofeng, Adrian, Phil, Hunter
6, Awan, Waqar, awanm15@mcmaster.ca, WaqarAwan376, Dr. Sebastien Mosser, Damped Harmonic Oscillator, Damped Harmonic Oscillator illustrated by online calculator, Traditional, https://github.com/WaqarAwan376/Damped_Harmonic_Oscillator-CAS741, main, YES, Hossain, Gaofeng, Adrian, Fasil
7, Mirzaei, Morteza, mirzam48@mcmaster.ca, mirzaim, Dr. Jake Doliskani , Inverted Pendulum Control Systems (IPCS), A control system for inverted pendulum problem, Traditional, https://github.com/mirzaim/ipcs, main, YES, Seyed Ali Mousavi, Hossain, Hunter, Adrian
8, Zhou, Gaofeng, zhoug28@mcmaster.ca, Zhou4truth, Prof.Ned.Nedialkov, Image Feature Detection, image processing problem, traditional, https://github.com/Zhou4truth/imageFeatureDetection, , YES, Valerie, Seyed Ali, Hossain, Xinyu
9, Wong, Kim Ying, wongk124@mcmaster.ca, gordonwky, Dr. Ned Nedialkov, Gaussian Mixture Model, Gaussian Mixture Model with EM algorithm, Traditional, https://github.com/gordonwky/GMM_EM, main, YES, Xinyu, Valerie, Seyed Ali, Hossain
10, Mousavi, Seyed Ali, mousas26@mcmaster.ca, alimousavi1997, Dr. Jake Doliskani, Recommender System, Movie Recommender using KNN algorithm, traditional, https://github.com/alimousavi1997/RecommSys, main , YES, Nada, Xinyu, Valerie, Gaofeng
11, Cheema, Fasil, cheemf8@mcmaster.ca , cheemf8 , Dr Lingyang Chu , Optimization Solver , Library of Optimization Solvers , traditional , https://github.com/FasilCheema/OptimizationLibrary, main , YES, Morteza Mirzaei, Nada, Xinyu, Valerie
12, Ma, Xinyu, ma209@mcmaster.ca, lele0007, Dr. Lingyang Chu, Image Segmentation, Retinal Vessel Segmentation, Traditional, https://github.com/lele0007/Blood-vessel-segmentation, main, YES, Kim Ying, Morteza, Nada, Seyed Ali
13, Du, Phil, dua11@mcmaster.ca, omltcat, Dr. Spencer Smith, Turbulent Flow, Synthetic Eddy for Turbulent Flow Simulation , Traditional, https://github.com/omltcat/turbulent-flow, main, YES, Cynthia, Kim Ying, Morteza, Nada
14, Elmasry, Nada, elmasn2@mcmaster.ca, NadaElmasry, Dr.Yingying Wang, Image Reconstruction and Segmentation, Brain Scans Processing, Traditional, https://github.com/NadaElmasry/3D-Image-Reconstruction-Segmentation, main, YES, Yi-Leng, Waqar, Kim Ying, Morteza
15, Chen, Yi-Leng, cheny997@mcmaster.ca, kypss94132, Dr. Ridha Khedri, Concrete Remaining Life Prediction, Predict remaining life of concrete based on weather data, Traditional, https://github.com/kypss94132/CAS741_YiLeng-Chen, main, YES, Atiyeh, Cynthia, Waqar, Kim Ying
16, Sayadi, Atiyeh, sayadia@mcmaster.ca, AtiyehSayadi, Dr. Ryszard Janicki, Centrality-In-Graphs, Centrality-In-Graphs, Traditional or Drasil, https://github.com/AtiyehSayadi/Centrality-In-Graphs, main, YES, Yiding, Tanya, Cynthia, Waqar
17, Djavaherpour, Tanya, djavahet@mcmaster.ca, tanya-jp, Dr. Stephen Kelly, ANN, Artificial Neural Network, Traditional, https://github.com/tanya-jp/ANN-CAS741, main, YES, Fatemeh, Atiyeh, Yi-Leng, Cynthia
18, Hossain, Al Jubair, hossaa27@mcmaster.ca, XessX, Dr.Yingying Wang, Physics Based Game, Angry Bird Alike, Traditional, https://github.com/XessX/Physics_game_based_on_Angry_Bird_Alike, main, YES, Waqar, Yiding, Atiyeh, Yi-Leng
19, Norouziani, Reyhaneh, norouf1@mcmaster.ca,rnorouziani, Dr. Onaizah Onaizah,Helmholtz-Coil-Current-Calculator,Helmholtz Coil Current Calculator for Target Magnetic Field, Traditional, https://github.com/rnorouziani/Helmholtz-Coil-Current-Calculator-CAS741, main, YES, Tanya, Yi-Leng, Yiding, Atiyeh
File deleted
......@@ -4,12 +4,12 @@
\frametitle{Administrative Details: Report Deadlines}
~\newline
\begin{tabular}{l l l}
%\textbf{Problem Statement} & Week 02 & Jan 19\\
%\textbf{System Req.\ Spec.\ (SRS)} & Week 04 & Feb 2\\
%\textbf{System VnV Plan} & Week 06 & Feb 16\\
\textbf{MG + MIS} & Week 09 & Mar 15\\
%{Drasil Code} & Week 09 & Mar 15\\
{Final Documentation} & Week 13 & Apr 12\\
%{Problem Statement} & Week 02 & Jan 17\\
%{System Req.\ Spec.\ (SRS)} & Week 04 & Feb 05\\
%\textbf{System VnV Plan} & Week 06 & Feb 26\\
%{MG + MIS} & Week 10 & Mar 19\\
%{Drasil Code} & Week 09 & Mar 14\\
{Final Documentation} & Week 13 & Apr 11\\
\end {tabular}
\bi
......@@ -31,13 +31,13 @@ traditional SRS
\frametitle{Administrative Details: Presentations}
~\newline
\begin{tabular}{l l l}
%\textbf{SRS} & Week 03/04 & \textbf{Week of Jan 23, 30}\\
%\textbf{Syst.\ VnV} & Week 06 & Week of Feb 12\\
%\textbf{POC Demo} & Week 07 & Week of Feb 26\\
\textbf{MG + MIS} & Week 09 & Week of Mar 11\\
%Drasil & Week 11 & Week of Mar 27\\
Unit VnV/Implement & Week 12 & Week of Apr 3\\
\begin{tabular}{l l}
%{SRS} & Week 03/04\\
%\textbf{Syst.\ VnV} & Week 06\\
%{POC Demo} & Week 08\\
%{MG + MIS} & Week 10\\
%Drasil & Week 11 \\
Unit VnV/Implement & Week 12 \\
\end {tabular}
\bi
......@@ -45,7 +45,11 @@ Unit VnV/Implement & Week 12 & Week of Apr 3\\
\item Specific schedule depends on final class registration
\item Informal presentations with the goal of improving everyone's written
deliverables
\item Domain experts and secondary reviewers (and others) will ask questions
\item Time for presentation includes time for questions
\item We will have to be strict with the schedule
\item Presentations WILL be interrupted with questions/criticism; please do not
take it personally
\item Any concerns, let the instructor know
\ei
\end{frame}
......@@ -55,31 +59,32 @@ Unit VnV/Implement & Week 12 & Week of Apr 3\\
\begin{frame}
\frametitle{Presentation Schedule}
%TBD
\bi
%\bi
% \item SRS Present (15 min)
% \bi
% %\item \textbf{Jan 26: Yiding, Adrian, Cynthia, Hunter, Valerie, Waqar}
% %\item \textbf{Jan 30: Morteza, Gaofeng, Kim Ying, Seyed Ali, Fasil, Xinyu}
% \item \textbf{Feb 2: Phil, Nada, Yi-Leng, Atiyeh, Tanya, Al}
% \item \textbf{Feb 6: Waqar, Fatemeh}
% \item {Jan 24: Uriel, Yasmin, Christopher, Baptiste, Kiran}
% \item {Jan 28: Bo, Joe, Junwei, Aliyah, Ziyang}
% \item {Jan 31: Yuanqi, Qianlin, Phillip, Hussein}
% \item {Feb 4: Alaap, Yinying}
% \ei
%\item Syst V\&V Plan Present (L11, L12) (20 min)
% \bi
% \item {Feb 14: Qianlin, Junwei, Joe, Volunteer?}
% \item {Feb 25: Yinying, Bo, Hussein, Volunteer?}
% \ei
%\item Proof of Concept Demonstrations (L14) (20 min)
%\bi
%\item \textbf{Feb 13: Fasil, Hunter, Phil, Adrian}
%\item \textbf{Feb 16: Gaofeng, Al, Seyed Ali, Xinyu}
%\item {Mar 4: Christopher, Uriel, Volunteer?, Volunteer?}
%\ei
% \item Proof of Concept Demonstrations (L14) (20 min)
% \item MG+MIS Present (L17, L18) (20 minutes) %(Drasil SRS Code)
% \bi
% \item \textbf{Mar 1: Cynthia, Valerie, Waqar, Yi-Leng}
% \item {Mar 14: Ziyang, Aliyah, Yuanqi, Alaap}
% \item {Mar 18: Phillip, Baptiste, Kiran, Volunteer?}
% \ei
\item MG+MIS Present (L17, L18) (20 minutes) %(Drasil SRS Code)
\bi
\item \textbf{Mar 12: Nada, Morteza, Kim Ying, Atiyeh}
\item \textbf{Mar 15: Fatemeh, Yiding, Tanya, Volunteer?}
\ei
\ei
%\ei
\end{frame}
......@@ -88,14 +93,13 @@ Unit VnV/Implement & Week 12 & Week of Apr 3\\
\begin{frame}
\frametitle{Presentation Sched Cont'd}
%TBD
\bi
\item Implementation Present (L22--L25) (15 min each)
\item Implementation Present (L22 -- L25) (20 min each)
\bi
\item {Mar 29: Fatemeh, Waqar, Al, Tanya, Atiyeh, Yi-Leng}
\item {Apr 2: Nada, Phil, Xinyu, Fasil, Seyed Ali, Kim Ying}
\item {Apr 5: Gaofeng, Morteza, Valerie, Hunter, Cynthia, Adrian}
\item {Apr 9: Yiding}
\item \textbf{Mar 28: Aliyah, Uriel, Ziyang, Yuanqi}
\item \textbf{Apr 1: Christopher, Bo, Joe, Junwei}
\item \textbf{Apr 4: Hussein, Kiran, Alaap, Qianlin}
\item \textbf{Apr 8: Yinying, Baptiste, Phillip}
\ei
\ei
......@@ -107,17 +111,12 @@ Unit VnV/Implement & Week 12 & Week of Apr 3\\
\frametitle{Presentation Schedule}
\bi
% \item Test or Impl.\ Present (25 min each)
% \bi
% \item Apr 5: Lesley, Deesha, Volunteer?
% \item Apr 6: Mina, Joachim, Maryam
% \ei
\item 3 presentations each %(please check)
\begin{itemize}
\item SRS everyone
\item VnV and POC subset of class
\item Design subset of class
\item Implementation everyone
\item Implementation or testing results everyone
\end{itemize}
\item If you will miss a presentation, please trade with someone
......
......@@ -6,7 +6,7 @@
\bi
\item Project owners
\bi
\item ``Domain Expert'' and ``Secondary Reviewer''
\item ``Domain Expert''
\item Find your reviewers in \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Repos.csv}
{Repos.csv}
\item Add your reviewers as collaborators
......@@ -15,6 +15,7 @@
\ei
\item Reviewers
\bi
\item Use the Peer Review issue template
\item Provide at least 5 issues on the document
\item Grading
\bi
......
No preview for this file type
......@@ -51,7 +51,7 @@
\item Brief course overview
\item Instructor introduction
\item Course outline
\item Student background
\item Student background/questions
\ei
\end{frame}
......@@ -64,10 +64,10 @@
% \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 Lectures: Tues (2:00 -- 3:30) and Fri (2:00 -- 3:30)
\item Avenue for grade tracking (\url{http://avenue.mcmaster.ca/})
\begin{itemize}
\item Please put a picture on your profile
%\item Please put a picture on your profile
\item Click arrow beside Announcements, select Notifications
\end{itemize}
\item Teams
......@@ -80,6 +80,10 @@
\item Publication resources available at:
\url{https://gitlab.cas.mcmaster.ca/smiths/pub} (CAS)
\end{itemize}
\item Course schedule is available as a
\href{https://calendar.google.com/calendar/embed?src=ck33dc9ulk4baddq46pdfmnbu0\%40group.calendar.google.com&ctz=America\%2FToronto}
{google calendar}
\end{itemize}
\end{frame}
......@@ -114,6 +118,10 @@ credit and details on your queries
\item Application of software engineering methodologies to improve the quality
of scientific computing (or research) software
\item Not a course on numerical algorithms or coding
\item An emphasis on documentation
\item Qualities of interest include maintainability, reusability, understandability, verifiability
\item Performance is less emphasized
\end{itemize}
......@@ -181,6 +189,7 @@ credit and details on your queries
\begin{itemize}
\item \structure{What is the definition of software engineering?}
\item \structure{Why do we need software engineering?}
\item \structure{What are some techniques, tools and principles for software
engineering?}
......@@ -506,6 +515,9 @@ Analysis}
\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://github.com/adrian-soch/attitude_check} {IMU-based Attitude Estimation (2024)}
\item \href{https://github.com/CynthiaLiu0805/BridgeCorrosion} {Bridge Corrosion (2024)}
\item \href{https://github.com/omltcat/turbulent-flow} {Synthetic Eddy (2024)}
\item \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/tree/master/Examples?ref_type=heads} {Examples folder}
\end{itemize}
\end{frame}
......@@ -611,18 +623,18 @@ Not all docs necessary
\item (Traditional and Drasil) Presentations and class discussion 5\%
\item (Traditional and Drasil) ``Domain Expert'' and secondary reviewer roles 10\%
\item (Traditional and Drasil) ``Domain Expert'' reviewer role 5\%
\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 Requirements Specification (SRS) 10\%
\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 15\%
\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 10\%
\item (Traditional) Module Guide and Module Interface Specification (MG and MIS)
15\%
10\%
\item (Drasil) Drasil code and Code Explanation Document 15\%
\item (Drasil) Drasil code and Code Explanation Document 10\%
\end {itemize}
......@@ -637,12 +649,94 @@ Not all docs necessary
\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\%
report and testing reports (System and Unit), extra task) 60\%
\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 Extra Task}
\begin {itemize}
\item Projects may be designed as ``research'' projects
\item Research projects involve
\begin{itemize}
\item graduate-level domain knowledge
\item a graduate-level implementation challenge
\end{itemize}
\item non-research projects require an extra task, selected from:
\begin{itemize}
\item Usability testing
\item User manual
\item Rigorous code walkthroughs
\item Formal proof
\item Other (approved by instructor)
\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 CL and extras in prob.\ state.\ and \texttt{Repos.csv}
% \item Most projects will be General
% \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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -708,7 +802,7 @@ Probably best to use the same order when doing your requirements presentation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Student Background} %show of hands
\frametitle{Student Background} %show of hands, volunteers
\begin{itemize}
\item Your name
......@@ -730,6 +824,7 @@ Probably best to use the same order when doing your requirements presentation
\item Your preferred OS
\end{itemize}
\item What do you hope to get out of this course?
\item Who has some potential project ideas?
\end{itemize}
\end{frame}
......@@ -764,7 +859,7 @@ slides
\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/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}{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)}
......
No preview for this file type
......@@ -57,6 +57,7 @@
\bi
\item Administrative details
%\item Additional introductions
\item Complete course outline
\item Problem statements
\item More information on Drasil
\item Project choice discussion
......@@ -67,9 +68,8 @@
\item LaTeX
\item Make
\end{itemize}
\item Questions on suggested reading?
\item Software Engineering for Scientific Computing literature
\item Start Projectile example
\item Software engineering for scientific computing literature
\item Start projectile example
\ei
\end{frame}
......@@ -90,12 +90,12 @@ create a new repo
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/merge_requests} {merge
request} to modify
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Repos.csv}
{Repos.csv} with your project details
{Repos.csv} with your project details, research level, extra etc.
\item Problem statement
\begin{itemize}
\item
\href{https://github.com/smiths/capTemplate/tree/main/docs/ProblemStatementAndGoals}
{Problem statement} due Fri, Jan 19 by 11:59 pm
{Problem statement} due Fri, Jan 17 by 11:59 pm
\item Assign an issue to instructor to review
\end{itemize}
\item Feel free to add
......@@ -103,6 +103,10 @@ request} to modify
network
\item Participation grades will be posted before the end of the term, providing
an opportunity to improve
\item Course schedule is available as a
\href{https://calendar.google.com/calendar/embed?src=ck33dc9ulk4baddq46pdfmnbu0\%40group.calendar.google.com&ctz=America\%2FToronto}
{google calendar}
\ei
\end{frame}
......@@ -110,14 +114,23 @@ network
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Administrative Details: Domain Expert}
\frametitle{Administrative Details}
\begin {itemize}
\item Domain Expert
\begin{itemize}
\item Create 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}
\item Final documentation grading
\begin{itemize}
\item Most of the grade is decided with the final documentation (60\%)
\item Significant weighting toward responding to feedback
\item Use the issue tracker and commits to make tracking changes easy
\end{itemize}
\item Required to use Continuous Integration (CI)
\end {itemize}
\end{frame}
......@@ -141,6 +154,50 @@ network
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \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{Challenge Level and Extra Task}
\begin {itemize}
\item Projects may be designed as ``research'' projects
\item Research projects involve
\begin{itemize}
\item graduate-level domain knowledge
\item a graduate-level implementation challenge
\end{itemize}
\item Non-research projects require an extra task, selected from:
\begin{itemize}
\item Usability testing
\item User manual
\item Rigorous code walkthroughs
\item Formal proof
\item Other (approved by instructor)
\end{itemize}
\item Extras can be used as bonus grades for advanced projects
\end {itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Problem Statement}
\bi
......@@ -150,8 +207,12 @@ network
\item Written in LaTeX (or other text-based file format)
\item Due electronically (on GitHub) by deadline
\item Generated files should NOT be under source control (except pdf)
\item By default CI builds pdfs when tex files in doc folder change
\item Comments used to give advice, you can use for your own reviews
\item Remove comments via \verb+\newif\ifcomments\commentsfalse+
\item Although not required, you should look at the
\href{https://github.com/smiths/capTemplate/tree/main/docs/DevelopmentPlan}
{Development Plan}
\ei
\end{frame}
......@@ -173,6 +234,8 @@ network
\item Environment for the software?
\item A page description should be sufficient
\ei
\item Research and extra
\item Expected implementation decisions
\ei
\end{frame}
......@@ -203,6 +266,10 @@ network
\item
\href{https://github.com/agentvv/MTOBridge/blob/main/docs\%20Rev1/ProblemStatementAndGoals/ProblemStatement.pdf}
{MTO Bridge}
\item \href{https://github.com/adrian-soch/attitude_check} {IMU-based Attitude Estimation (2024)}
\item \href{https://github.com/CynthiaLiu0805/BridgeCorrosion} {Bridge Corrosion (2024)}
\item \href{https://github.com/omltcat/turbulent-flow} {Synthetic Eddy (2024)}
\ei
\end{frame}
......@@ -328,6 +395,19 @@ network
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Getting Started with Drasil}
\begin{itemize}
\item \href{https://github.com/JacquesCarette/Drasil/wiki/New-Workspace-Setup} {New workspace setup}
\item \href{https://github.com/JacquesCarette/Drasil/wiki/Git2Know-for-Drasil} {Information on git}
\item
\href{https://github.com/JacquesCarette/Drasil/wiki/Creating-Your-Project-in-Drasil}
{Creating your own project in Drasil}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Project Selection Ideas/Questions}
Let's discuss some of your project ideas
......@@ -519,7 +599,7 @@ First either init repo or clone (git init, git clone), then typical workflow is
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/pub/-/blob/master/ParnasAndClements1986.pdf}
{{ParnasAndClements1986}~\cite{ParnasAndClements1986}}
\item \href{https://github.com/smiths/swhs}{Solar Water Heating System Example}
\item \href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}{Solar Water Heating System Example}
\end{itemize}
......@@ -658,6 +738,26 @@ written modules
\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{Requirements for Projectile}
\vspace{-1.0cm}
......@@ -678,7 +778,6 @@ written modules
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
......
No preview for this file type
......@@ -28,7 +28,8 @@
\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
%\pgfpagesuselayout{resize to}[letterpaper,border shrink=5mm,landscape] %if
%this is uncommented, the hyperref links do not work
\mode<presentation>{}
......@@ -85,7 +86,7 @@ create a new repo
request} to modify
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Repos.csv}
{Repos.csv} with your project details
\item Only two projects in Repos.csv so far
\item No projects in Repos.csv so far
\item \structure{Is anyone still considering dropping the course?}
\ei
......@@ -599,11 +600,31 @@ Draw a diagram showing the relationships between the various software qualities
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Requirements for Projectile}
\vspace{-1.0cm}
\begin{center}
\includegraphics[scale=0.55]{../Figures/Launch.jpg}
\end{center}
\vspace{-1.0cm}
\begin{itemize}
\item Simplifying assumptions? (scope decisions, modelling decisions)
\item Kinematic theories for translational motion?
\item Data constraints on input? output?
\item Types?
\item Rationale?
\item \href{https://github.com/smiths/caseStudies/blob/master/CaseStudies/projectile/projectileSRS_RefinedTheories/Projectile_SRS.pdf}
{Refined Theories Projectile SRS}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goal Statements for SWHS}
\structure{What are the goal statement for the Solar Water Heating System?
(\href{https://jacquescarette.github.io/Drasil/examples/nopcm/SRS/srs/NoPCM_SRS.html}
(\href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}
{NoPCM SRS})}
~\\
......@@ -634,8 +655,8 @@ temperature of the water, and material properties, the goal statements are:
\begin{itemize}
\item Consider using names instead of numbers for labels.
\item For
\href{https://jacquescarette.github.io/Drasil/examples/swhs/SRS/srs/SWHS_SRS.html}
{SWHS} add goals related to the Phase Change Material
\href{https://github.com/smiths/swhs/blob/master/docs/SRS/PCM_SRS.pdf}
{SWHS} adds goals related to the Phase Change Material
\end{itemize}
\end{frame}
......@@ -748,15 +769,15 @@ Also Goal Statements and Requirements
\begin{itemize}
\item
\href{https://jacquescarette.github.io/Drasil/examples/projectile/SRS/srs/Projectile_SRS.html}
\href{https://jacquescarette.github.io/Drasil/examples/projectile/SRS/HTML/Projectile_SRS.html}
{Projectile Example}
\item \href{https://github.com/smiths/caseStudies/blob/master/CaseStudies/projectile/projectileSRS_RefinedTheories/Projectile_SRS.pdf}
{Refined Theories Projectile SRS}
\item
\href{https://jacquescarette.github.io/Drasil/examples/glassbr/SRS/srs/GlassBR_SRS.html}
{GlassBR Example}
\href{https://jacquescarette.github.io/Drasil/examples/glassbr/SRS/mdBook/book/title.html}
{GlassBR Example (mdBook)}
\item
\href{https://jacquescarette.github.io/Drasil/examples/swhs/SRS/srs/SWHS_SRS.html}
\href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}
{SWHS Example}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Examples/aorta/SRS.pdf?ref_type=heads}
......@@ -776,26 +797,6 @@ Also Goal Statements and Requirements
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Requirements for Projectile}
\vspace{-1.0cm}
\begin{center}
\includegraphics[scale=0.55]{../Figures/Launch.jpg}
\end{center}
\vspace{-1.0cm}
\begin{itemize}
\item Simplifying assumptions? (scope decisions, modelling decisions)
\item Kinematic theories for translational motion?
\item Data constraints on input? output?
\item Types?
\item Rationale?
\item \href{https://github.com/smiths/caseStudies/blob/master/CaseStudies/projectile/projectileSRS_RefinedTheories/Projectile_SRS.pdf}
{Refined Theories Projectile SRS}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
......
No preview for this file type
......@@ -52,7 +52,8 @@
\item Questions?
%\item Wrap up software qualities topic
%\item Commonality Analysis versus Software Requirements Spec
\item Some advice
\item Finish example goal statements
\item Some advice on developing your SRS
\item Requirements documentation for scientific computing
\item A new requirements template
\item Advantages of new template and examples
......@@ -74,11 +75,11 @@
\item Name your repo something other than \texttt{cas741}
\item Assign me an issue to review your problem statements
\bi
\item Clearly state that you would like me to review your problem statement
\item State that you would like a review
\item Include a link to your problem statement
\ei
\item Do not put generated files under version control
\item Create a \texttt{.gitignore} file
\item Understand your \texttt{.gitignore} file
\item Keep your tex files to 80 character width (easier for change tracking)
\ei
......@@ -109,12 +110,26 @@
\item Modify \texttt{Repos.csv}, \texttt{git add}, \texttt{git commit}
\item Check your diff
\item Merge request
\item Note: do a fresh pull first, monitor other \href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/merge_requests} {merge requests}
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Questions? Continued}
\begin{itemize}
\item Does anyone need help with \LaTeX{}?
\begin{itemize}
\item Suggest using VSCode with LTeX
\end{itemize}
\item Questions about project choices?
\item Questions about software tools?
\item Questions about problem statements?
%\item Questions about software qualities?
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -175,6 +190,81 @@
% \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goal Statements for GlassBR}
For
\href{https://jacquescarette.github.io/Drasil/examples/glassbr/SRS/srs/GlassBR_SRS.html}
{GlassBR}:
~\\
Given the dimensions of the glass plane, glass type, the characteristics of the
explosion, and the tolerable probability of breakage, the goal statements are:
\begin{itemize}
\item[GS1:] Analyze and predict whether the glass slab under consideration will
be able to withstand the explosion of a certain degree which is calculated
based on user input.
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[plain]
\frametitle{Goal Statements for Game Physics}
\noindent For
\href{https://jacquescarette.github.io/Drasil/examples/gamephysics/SRS/srs/GamePhysics_SRS.html}
{Game Physics}:
\begin{itemize}
\item[G\_linear:] Given the physical properties, initial positions and
velocities, and forces applied on a set of rigid bodies, determine their new
positions and velocities over a period of time (IM-IM\_FT).
\item[G\_ang:] Given the physical properties, initial orientations and
angular velocities, and forces applied on a set of rigid bodies, determine
their new orientations and angular velocities over a period of
time. (IM-IM\_FR).
\item[G\_dtcCol:] Given the initial positions and velocities of a set
of rigid bodies, determine if any of them will collide with one another over a
period of time.
\item[G\_Col:] Given the physical properties, initial linear and angular
positions and velocities, determine the new positions and velocities over a
period of time of rigid bodies that have undergone a collision (IM-IM\_C).
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goal Statements for Linear Solver}
\structure{What would be a good goal statement for a library of linear solvers?}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goal Statements for Linear Solver}
\begin{itemize}
\item[G1] Given a system of $n$ linear equations represented by matrix $A$ and
column vector $b$, return $x$ such that $Ax = b$, if possible
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Major Conceptual Parts of SRS/CA}
......@@ -235,7 +325,7 @@ Also Goal Statements and Requirements
% \frametitle{Goal Statements for SWHS}
% \structure{What are the goal statement for the
% \href{https://jacquescarette.github.io/Drasil/examples/swhs/SRS/srs/SWHS_SRS.html}
% \href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}
% {Solar Water Heating System}?}
% \begin{center}
% \includegraphics[width=0.5\textwidth]{../Figures/Tank.pdf}
......@@ -390,11 +480,11 @@ Also Goal Statements and Requirements
\href{https://jacquescarette.github.io/Drasil/examples/glassbr/SRS/srs/GlassBR_SRS.html}
{GlassBR Example}
\item
\href{https://jacquescarette.github.io/Drasil/examples/swhs/SRS/srs/SWHS_SRS.html}
{SWHS Example}
\href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}
{SWHS Example} (Let's go through this one)
\item
\href{https://github.com/smiths/capTemplate/blob/main/docs/SRS/SRS.pdf}
{Blank SRS from Template}
{Blank SRS from Template} (Let's look at the advice/hints)
\item
\href{https://github.com/smiths/capTemplate/blob/main/docs/Checklists/SRS-Checklist.pdf} {Checklist}
\end{itemize}
......@@ -1060,6 +1150,38 @@ to improve reliability
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Feedback From Previous Years}
\begin{itemize}
\item Remember that you are writing the document for someone other than yourself
\item Introduction section gives the name for the software/library
\item Use \texttt{citep} and \texttt{citet} for \texttt{natbib}
\item When the assumptions are listed, traceability is given to where they are
used
\item If assumptions are not used, then they may not be necessary, or they might
be scope decisions
\item For NFRs, specify what you want, not how to achieve it
\item NFRs can point to the VnV plan for details (to make them unambiguous)
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Feedback From Previous Years}
\begin{itemize}
\item For reader/user characteristics, give the target course and what level it is taught. (Use a generic name, not a specific course name.)
\item Rationale provided for assumptions, scope decisions and constraints
\item Include a reference to the source of the template you are using
\item Requirements should trace to IMs
\item Define all symbols in table of contents and in Description field
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
......
No preview for this file type
......@@ -66,7 +66,7 @@
\bi
\item Administrative details
\item Motivating a document driven design process %including documentation
\item Finish up SRS
\item Finish up SRS Example
\item Requirements specification qualities
\item Motivation for families
\item Proposed family methods
......@@ -88,7 +88,7 @@
\item Not all projects approved
(\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/blob/master/Repos.csv?ref_type=heads}
{Repos.csv})
\item All rubrics available on Avenue (please verify you can see them)
%\item 80 columns in tex files
%\item Spell check
%\item Replace ``in order to'' by ``to''
......@@ -215,6 +215,32 @@ Water Heating System}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Examples, Checklist and Template}
\begin{itemize}
\item
\href{https://jacquescarette.github.io/Drasil/examples/projectile/SRS/srs/Projectile_SRS.html}
{Projectile Example}
\item
\href{https://jacquescarette.github.io/Drasil/examples/glassbr/SRS/srs/GlassBR_SRS.html}
{GlassBR Example}
\item
\href{https://jacquescarette.github.io/Drasil/examples/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html}
{SWHS Example} (Let's go through this one)
\item
\href{https://github.com/smiths/capTemplate/blob/main/docs/SRS/SRS.pdf}
{Blank SRS from Template} (Let's look at the advice/hints)
\item
\href{https://github.com/smiths/capTemplate/blob/main/docs/Checklists/SRS-Checklist.pdf} {Checklist}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
% \frametitle{More Example Projects}
% \bi
......@@ -256,6 +282,24 @@ Water Heating System}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Software Requirements Activities}
\begin{itemize}
\item A software requirement is a description of how the system should behave,
or of a system property or attribute
\item Requirements should be \textbf{abstract}, \textbf{unambiguous},
\textbf{complete}, \textbf{consistent}, \textbf{modifiable}, \textbf{verifiable}
and \textbf{traceable}
\item Requirements should express ``What'' not ``How''
\item Formal versus informal specification
\item Functional versus nonfunctional requirements
\item Software requirements specification (SRS)
\item Requirements template
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
% \frametitle{Kreyman and Parnas Five Variable Model}
% \begin{itemize}
......@@ -607,7 +651,8 @@ PS1.a & $L$ & & &... & &... & & & $\surd$ & ... & & ... & ... \\
}
~\newline
~\newline
\textbf{A10}. The deflection of the beam is caused by bending moment only, the shear does not contribute.\\
\textbf{A10}. The deflection of the beam is caused by bending moment only, the
shear does not contribute.\\
%\textbf{A15}. The beam behaves as a rigid body
\end{frame}
......@@ -1236,10 +1281,12 @@ at the end of a word.}
\begin{itemize}
\item Program family idea since the 1970s (Dijkstra, Parnas, Weiss, Pohl, ...) - variabilities are often from a finite
set of simple options \cite{Parnas1976, Parnas1979, Dijkstra1972}
\item Families of algorithms and code generation in SC (Carette, ATLAS, Blitz++, ...) - not much emphasis on
requirements \cite{Carette2006, WhaleyEtAl2001, Veldhuizen1998, Blitz2010}
\item Program family idea since the 1970s (Dijkstra, Parnas, Weiss, Pohl, ...) --
variabilities are often from a finite set of simple options \cite{Parnas1976,
Parnas1979, Dijkstra1972}
\item Families of algorithms and code generation in SC (Carette, ATLAS, Blitz++,
...) -- not much emphasis on requirements \cite{Carette2006, WhaleyEtAl2001,
Veldhuizen1998, Blitz2010}
%\item Problem Solving Environments (PSEs)
\item Work on requirements for SC
\begin{itemize}
......@@ -1520,10 +1567,11 @@ $n: \mathbb{N}$ & number of linear equations/number of unknowns\\
$A: \mathbb{R}^{n \times n}$ & $n \times n$ real matrix\\
$x: \mathbb{R}^{n \times 1}$ & $n \times 1$ real column vector\\
$b: \mathbb{R}^{n \times 1}$ & $n \times 1$ real column vector\\
$I: \mathbb{R}^{n \times n}$ & an $n \times n$ matrix where all entries are $0$, except for the diagonal entries, which
are $1$\\
$I: \mathbb{R}^{n \times n}$ & an $n \times n$ matrix where all entries are $0$,
except for the diagonal entries, which are $1$\\
$|| v || $ & the norm (estimate of magnitude) of vector $v$\\
$A^{-1}: \mathbb{R}^{n \times n}$ & the inverse matrix, with the property that $A^{-1} A = I$\\
$A^{-1}: \mathbb{R}^{n \times n}$ & the inverse matrix, with the property that
$A^{-1} A = I$\\
singular & matrix $A$ is singular if $A^{-1}$ does not exist\\
residual & $|| b - A x ||$\\
\end{tabular}
......@@ -1539,7 +1587,8 @@ residual & $|| b - A x ||$\\
\begin{itemize}
\item \structure{What would be the most general binding time for the variabilities?}
\item \structure{What would be the most general binding time for the
variabilities?}
\end{itemize}
......
No preview for this file type
......@@ -43,6 +43,10 @@
\frametitle{Verification and Validation}
\bi
\item
\href{https://ideas-productivity.org/assets/artifacts/hpcbp/hpcbp-083-gettingitright.pdf}
{Cohen2024} presentation ``Getting it Right: System Testing of Scientific
Software'' (similar content to these slides)
\item Administrative details
\item Questions?
\item 741 workflow
......@@ -64,10 +68,13 @@ template}
\frametitle{Administrative Details}
\bi
\item SRS Presentation grades on Avenue
\item SRS Presentation grades on Avenue (well done!)
\item Create GitHub issues for your colleagues (see next slide)
\item Go ahead and address the colleague created issues
\item No classes for Reading week %(Feb 20 -- Feb 24)
%\item Go over final rubric, especially challenge level and extras
\item First submission of docs is formative (feedback, not highly weighted),
final submission is summative
\ei
\end{frame}
......@@ -483,7 +490,7 @@ From \cite{GhezziEtAl2003}
\item \structure{If our code passes all test cases, is it now guaranteed to be
error free?}
\item \structure{Are 5000 random tests always better than 5 carefully selected
\item \structure{Are 5000 random tests always better than 15 carefully selected
tests?}
\end{itemize}
......
No preview for this file type
......@@ -93,7 +93,8 @@
\begin{itemize}
\item
\href{https://gitlab.cas.mcmaster.ca/smiths/cas741/-/commit/0bdea9edc7464bb57c2f3524bebfd4f3b59cdc80}
{Some Domain Expert and Secondary Expert assignments have changed}
{Some Domain Expert assignments have changed}
\item Yasmin dropped the course, so Bo will need to find another project to evaluate
\end{itemize}
\end{frame}
......@@ -111,6 +112,71 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goals of Testing}
\begin{itemize}
\item \structure{If our code passes all test cases, is it now guaranteed to be
error free?}
\item \structure{Are 5000 random tests always better than 15 carefully selected
tests?}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goals of Testing}
\begin{itemize}
\item To show the \structure{presence} of bugs (Dijkstra, 1972)
\item If tests do not detect failures, we cannot conclude that software is defect-free
\item Still, we need to do testing - driven by sound and systematic principles
\begin{itemize}
\item Random testing is often not a systematic principle to use
% look at the example from the text, or divide by zero within a circular range
\item Need a test plan
\end{itemize}
\item Should help isolate errors - to facilitate debugging
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Goals of Testing Continued}
\begin{itemize}
\item Should be repeatable
\begin{itemize}
\item Repeating the same experiment, we should get the same results
\item Repeatability may not be true because of the effect of the execution
environment on testing
\item Repeatability may not occur if there are uninitialized variables
\item Repeatability may not happen when there is nondeterminism
\end{itemize}
\item Should be accurate
\begin{itemize}
\item Accuracy increases reliability
\item Part of the motivation for formal specification
\end{itemize}
\item \structure{Is a \structure{successful} test case one that passes the test, or one
that shows a failure?}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Test (V\&V) Plan}
......@@ -1015,6 +1081,7 @@ Summary of most points below in \cite{Smith2016}
\href{https://www.evoketechnologies.com/code-review-checklist-perform-effective-code-reviews/}{Sample
checklists}
\ei
\item \href{https://gitlab.cas.mcmaster.ca/SEforSC/se4sc/-/blob/git-svn/GradStudents/Cynthia/M.EngReport/Thesis_Main.pdf?ref_type=heads} {Cynthia Liu's SC Requirements Validation Techniques}
\end{itemize}
\end{frame}
......