diff --git a/CourseOutline/CAS741_Outline.pdf b/CourseOutline/CAS741_Outline.pdf index 4b8f3ad2bc5da98bf10bb8cfd2738cdd11d60237..efbc067f7f871ab53663568bc6b8f7eb945892e5 100644 Binary files a/CourseOutline/CAS741_Outline.pdf and b/CourseOutline/CAS741_Outline.pdf differ diff --git a/CourseOutline/CAS741_Outline.tex b/CourseOutline/CAS741_Outline.tex index c8a7b7f21a63f2168c249262b69b6bb3b662b739..71b8363d87acaf3c763847ab838f485a555d0673 100755 --- a/CourseOutline/CAS741_Outline.tex +++ b/CourseOutline/CAS741_Outline.tex @@ -204,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} @@ -222,15 +228,15 @@ generate the documentation and code. \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 55\% \begin{enumerate} \item Problem Statement (Revised) \item SRS (Revised) @@ -247,14 +253,29 @@ generate the documentation and code. \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 Extras} + +Due to differences in interests and background, students in this course will +select topics with varying levels of complexity in both the required domain +knowledge and in the implementation. Less advanced projects are an option, but +to get full grades for a lower challenge project, students should add extra work +to the scope of their project. Examples of extra work include usability +testing, rigorous code walkthroughs, user manual documentation, formal proof, +GenderMag personals, design thinking, etc. If advanced projects do extra work, +the extra work is graded as a bonus. \section {Policy Statements} diff --git a/Lectures/Deadlines.tex b/Lectures/Deadlines.tex index 3f45aa773bd01b9c0507db057cbb4e673920cbd7..2d509b27e19da432cac45594b94785e4c00bde63 100644 --- a/Lectures/Deadlines.tex +++ b/Lectures/Deadlines.tex @@ -45,8 +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} diff --git a/Lectures/L01_IntroToCourse/IntroToCourse.pdf b/Lectures/L01_IntroToCourse/IntroToCourse.pdf index 35b6287d43d9d31b71ab73d29944ff6935ee2cbc..35c18e96058a27c128238564deaf138e6e066620 100644 Binary files a/Lectures/L01_IntroToCourse/IntroToCourse.pdf and b/Lectures/L01_IntroToCourse/IntroToCourse.pdf differ diff --git a/Lectures/L01_IntroToCourse/IntroToCourse.tex b/Lectures/L01_IntroToCourse/IntroToCourse.tex index a4a6391cbe4dd1ee5205caa5dbc8681e6f02020a..c239b91650db37039ce69c2994969048029bb812 100755 --- a/Lectures/L01_IntroToCourse/IntroToCourse.tex +++ b/Lectures/L01_IntroToCourse/IntroToCourse.tex @@ -643,6 +643,91 @@ Not all docs necessary \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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Lectures/L02_GettingStarted/GettingStarted.pdf b/Lectures/L02_GettingStarted/GettingStarted.pdf index c509b0f2e89bbd90bae6d387d0443f29bfe75d6e..7f9a3fc9680d35e8cb404170faef9eb7fe829eac 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 1b7c81a707a57577c2d49f3291e4bdc149d71849..eb6a96b6f265a9d982277a8ca96fc7416f9e2b30 100755 --- a/Lectures/L02_GettingStarted/GettingStarted.tex +++ b/Lectures/L02_GettingStarted/GettingStarted.tex @@ -90,7 +90,7 @@ 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, challenge level, extras \item Problem statement \begin{itemize} \item @@ -117,6 +117,8 @@ network \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 NEW: Go over final grading rubric (challenge level, extras, traceability +between Rev 0 and Rev 1) \end {itemize} diff --git a/Lectures/L09_VerificationAndValidation/VerificAndValid.tex b/Lectures/L09_VerificationAndValidation/VerificAndValid.tex index d6e30a808e0d165222c32af149a7eca4846447b4..8fde41ba60c234af08e6909479dd2637d7f835ca 100755 --- a/Lectures/L09_VerificationAndValidation/VerificAndValid.tex +++ b/Lectures/L09_VerificationAndValidation/VerificAndValid.tex @@ -72,6 +72,9 @@ template} \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} diff --git a/Lectures/L15_MIS/MIS.tex b/Lectures/L15_MIS/MIS.tex index 2cd6e5626e9c4e381dcd9983bd07cc820d6fb02f..7ae8127d4e3d03a31ac6f2f6848589bed34cee86 100755 --- a/Lectures/L15_MIS/MIS.tex +++ b/Lectures/L15_MIS/MIS.tex @@ -87,6 +87,7 @@ \item \href{https://app.diagrams.net/} {draw.io} \item \href{https://www.bu.edu/math/files/2013/08/tikzpgfmanual.pdf} {Tikz} \ei +\item Go over final grading rubric, traceability Rev0 to Rev1 \ei \end{frame} diff --git a/Lectures/L19_AssuranceCase/AssuranceCase.pdf b/Lectures/L19_AssuranceCase/AssuranceCase.pdf index 86267ad9636faaf8e9de9952c75c9dbb1ee91695..21d7ca80d6c18ee5f0d6c98746601edc91ecd1f9 100644 Binary files a/Lectures/L19_AssuranceCase/AssuranceCase.pdf and b/Lectures/L19_AssuranceCase/AssuranceCase.pdf differ