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

Updates to course outline

parent effa10df
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -141,61 +141,90 @@ collaborator) for their work. The GitHub server is located at
\url{https://github.com/}. Students will be expected to use GitHub to provide
comments on the work of other students in the class.
\subsection*{Classes}
Classes will be held virtually using Microsoft Teams.
\section {Course Project}
At the beginning of the term each student will select a scientific computing
problem. Over the course of the term software will be developed to address the
selected problem. The software development process will follow the iterative
waterfall model, with the following milestones:
waterfall model. Typically, students will use one of two methodologies:
\begin{enumerate}
\item ``Traditional/Manual Approach''
\begin {enumerate}
\item Software Requirements Specification (SRS)
\item Module Guide (MG)
\item Module Interface Specification (MIS)
\item Implementation (any appropriate programming language)
\item Verification and Validation (VnV) Plan (divided between system and unit documents)
\item Verification and Validation (VnV) Report (divided between system and unit documents)
\item Verification and Validation (VnV) Plan
\item Verification and Validation (VnV) Report
\end{enumerate}
\item ``Drasil (artifact+code generation)/Automated Approach''
\begin {enumerate}
\item Software Requirements Specification (SRS) draft, as for manual
\item SRS generation in Drasil
\item Code generation (Drasil supported programming languages)
\item Verification and Validation (VnV) Plan (manually produced)
\item Verification and Validation (VnV) Report (manually produced)
\end{enumerate}
\end {enumerate}
If a student opts for the Drasil approach, they can later switch back to the
Traditional approach, without any grade related penalty.
The Drasil approach uses the Drasil tool
(\url{https://github.com/JacquesCarette/Drasil}) to generate the SRS and the
code. Since Drasil is incomplete, the V\&V documents will still be generated
manually. Further details on Drasil will be covered during the class lectures.
With approval from the instructor, the deliverables can potentially be modified,
if a project is more suited to a different structure. For instance, a project
could replace one of the above deliverables with an assurance case deliverable,
or with domain specific code to automatically build the deliverables.
or with a greater emphasis on domain specific code to automatically build the
deliverables.
\section {Course Structure}
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, Implementation, VnV Plan and VnV Report. It is expected the class discussion will
assist in improving the quality of the written deliverables. Each student will
be expected to hand in the following written documents: SRS, MG, MIS, VnV Plan,
VnV Report, code and Final Documentation.
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 that the MG and MIS are replaced with the Drasil
code to generate the documentation and code.
\section {Grading}
\begin {enumerate}
\item Presentations and class discussion 5\%
\item (Traditional and Drasil) Presentations and class discussion 5\%
\item ``Domain Expert'' and secondary reviewer roles 10\%
\item (Traditional and Drasil) ``Domain Expert'' and secondary reviewer roles 10\%
\item Problem Statement 0\%
\item (Traditional and Drasil) Problem Statement 0\%
\item System Requirements Specification (SRS) 15\%
\item (Traditional and Drasil) System Requirements Specification (SRS) Document 15\%
\item System Verification and Validation (VnV-Syst) Plan 15\%
\item (Traditional and Drasil) System Verification and Validation (VnV-Syst) Plan 15\%
\item Module Guide and Module Interface Specification (MG and MIS) 15\%
\item (Traditional) Module Guide and Module Interface Specification (MG and MIS) 15\%
\item Final Documentation 40\%
\item (Drasil) Drasil code and Code Explanation Document 15\%
\item (Traditional and Drasil) Final Documentation 40\%
\begin{enumerate}
\item Problem Statement (Revised)
\item SRS (Revised)
\item System VnV Plan (Revised)
\item MG (Revised)
\item MIS (Revised)
\item (Traditional) MG (Revised)
\item (Traditional) MIS (Revised)
\item (Drasil) Drasil code and explanation (Revised)
\item Unit VnV Plan
\item Code
\item System VnV Report
......@@ -203,23 +232,17 @@ VnV Report, code and Final Documentation.
\item Reflection Report
\end{enumerate}
\item Drasil simple physics example, pull request accepted 5\% (Bonus)
\end {enumerate}
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
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.
The potential bonus marks involve creating a simple physics example in Drasil
(\url{https://github.com/JacquesCarette/Drasil}). Drasil represents recent
(still incomplete) work to automate many of the tasks that are currently done
manually for design and documenting SC software.
\section {Policy Statements}
This section of the course outline explains the course policy with respect to
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment