Individual tests (20%)

A series of 6 individual tests:

You can complete each test when it is released. The deadline for completing all of them is at the end of the Spring Semester.

I recommend you do each quiz as the corresponding content is covered. Content for the first 4 tests is covered in the Autumn Semester. Content for the last 2 tests is covered in the Spring Semester.

Each quiz corresponds to topics covered in the course. You can attempt each quiz as many times as you wish (your last attempt is the one that counts).

Individual coursework (20%)

A mock coursework is available: here.

Solutions to the mock are here.

Marking criteria

There will be 8 questions, each worth 5 marks:

The coursework for 2025/2026 can be downloaded available here.

Group project (60%)

Build a Python library to provide tools for a problem related to mathematics.

You will evidence your progress with 2 mediums:

  1. A 2 page paper
  2. A 15 minute recorded presentation

Your final submission should include the following 7 files:

  1. A main.tex file: the source file for a 2 page paper written in LaTeX.
  2. A main.pdf file: the pdf file for a 2 page paper written in LaTeX.
  3. A <library>.py file: the source file for your Python library
  4. A test_<library>.py file: the test files for your Python library
  5. A README.md file: the documentation for your Python library
  6. A presentation.mp4 (or similar file format): the video recording of your 15 minute presentation
  7. A contribution.md file: a file describing the contributions of every member of your group.

Marking criteria

The various components of the submission should aim to demonstrate how the following aspects of the work have been addressed:

Communication (both paper and presentation) (30%)

Typical description of mark:

Scope (50%)

Typical description of mark:

Research (20%)

Typical description of mark:

Note that this assessment has some overlap with the review criteria for the Journal of Open Source Software https://joss.readthedocs.io/en/latest/review_checklist.html. Some examples of papers written for that journal that can be helpful are:

Deadline: TBD.

Use of Code Generation Tools

Code generation tools (for example Large Language Models such as ChatGPT or Google Gemini) are increasingly capable of producing working programming code. These tools can sometimes generate high-quality solutions, but they can also produce incorrect, inefficient, or unsafe code.

The purpose of this module is for you to develop your own programming, problem-solving, and debugging skills.

For this coursework, you must submit your own original work.

You must not:

You may:

Automated code generation often produces recognisable artefacts. Where there is reasonable evidence that submitted work was generated using such tools, the submission may be treated as an academic integrity violation and penalties may apply.

This policy exists to ensure you develop the skills required for later modules and professional programming practice.

Past group projects

A list of titles of past projects:

2024-2025

2023-2024

2022-2023

2021-2022

2020-2021

Log of past relevant classes

05/26/25: Group Project Feedback

In this post I will discuss the performance of the class for the group coursework.

01/13/25: Individual Coursework Feedback

Thanks all for your efforts in doing the individual coursework!

12/06/24: Summary of mock coursework session and clarification about question 4b

In class today I went over the mock coursework.

12/04/24: Summary of release of individual coursework

In class yesterday we took a look at the individual coursework.

05/21/24: Overview of assessment performance

In this post I will discuss the performance of the class:

01/03/24: Individual Coursework Feedback

Thanks all for your efforts in doing the individual coursework!

12/08/23: Summary of mock coursework session

In class today I demonstrated how to submit and went over the mock coursework.

12/04/23: Summary of release of individual coursework

In class yesterday we took a look at the individual coursework.

Source code: @drvinceknight Powered by: Jekyll Github pages Bootsrap css