Project assignment

Description

Develop a computational model (e.g., simulation) of a real or hypothetical system to study its behavior. Use this model to write a report answering questions related to this system.

Scenario

You are writing this code and report for a client who has hired your engineering services. You can consider that the client is interested in the answer to the question you've posed, as documented in your report - but not the details of the code. The client's engineering team will check that the conclusions of your report are traceable and reproducible through your code. The results from the code should therefore be reproduced as easily as possible through automation; a graphical user interface or command-line interface is not needed.

"Boundary conditions"

Deliverables

Project proposal

Contents:

  1. Question to be answered / motivation for the project (why would anyone care that you undertake this project)
  2. Current "state-of-the-art" (what is the closest computer program/code you are aware of or that you can find)
  3. Objective and scope of the project
  4. Approach (methods/data set you plan to use) - is it feasible?
  5. Expected schedule (include a weekly Gantt chart)

Assessment criteria:

Final submission

Report contents:

  1. Deviations from project proposal
  2. Introduction to the problem
  3. Approach used (e.g., models, mathematical relationships)
  4. Results
  5. Conclusion and outlook

With exception to Point 1, the final report should be a standalone document that can be read independently of the project proposal (i.e., your client should be able to understand the project without having to refer back to the original proposal).

Code repository contents:

  1. README file
  2. Organized code and input data; no executables or outputs

The README file should contain instructions on how to generate the results (Tables, Figures, calculations) included in the report.

Assessment criteria:

  1. Quality of the written report
  2. Quality of the submitted code repository