Requirements for home assignments
Deadline:
- The deadline of the homework assignment is by the next practice session. After that, the solution to the homework will be put on the courses webpage. Later assignments get 0 points.
The main solution to tasks is a re-runnable Jupyter notebook (note, singular!) that contain code, graphs, and text describing what you did and how to interpret results. The notebook must contain the name of the author. Organize your notebook into sections by task origin notebook (e.g. for HW1, the first section would be 01_convergence). You can pack some local Python modules as .py files provided that the code will run if unpacked into a single directory. Remove all tasks, code and text that are not part of your solution (i.e. tasks you didn't solve, long introductory texts). At the start of the notebook add a list of all the tasks you solved or attempted to solve.
Use the following checklist to see that your submission fits the criteria for submission
Checklist for homework submission:
- Output is 1 Jupyter notebook + accompanying Python files (ZIP them if needed!)
- The submission notebook contains your name at the start
- Random seed is fixed to guarantee that computations are repeatable! The fix is only once per file. All zeros seed is ok but you can pick your favourite
- Restart & Run-All should run the notebook properly (important!)
- At the beginning of the notebook, there is a list of tasks which you (partly) completed
- When a task is incomplete, state what remains undone at the task.
- Unnecessary text and code are removed (e.g. sample practical text and code at the start), what remains are homework solutions with accompanying text. Keep the question text for completeness.
- Results and plots have accompanying text on how you interpret it
- Notebook is organized into sections by task origin notebook (e.g. first section is 01_convergence.ipynb)
- Python code alone is never a solution. You need to describe what you do and interpret the results. Do not lie! If you get bizarre or unexpected results then admit it. A bug in a code can be a minor problem while the fact that you cannot recognise problems is a major issue.
You can try and follow the format as in the example here: Sample submission