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).
A mock coursework is available: here.
The 2024-2025 individual coursework is available here.
The topics for the individual coursework for the past few years have been:
Build a Python library to provide tools for a problem related to mathematics.
You will evidence your progress with 2 mediums:
Your final submission should include the following 7 files:
main.tex
file: the source file for a 2 page paper written in LaTeX.main.pdf
file: the pdf file for a 2 page paper written in LaTeX.<library>.py
file: the source file for your Python librarytest_<library>.py
file: the test files for your Python libraryREADME.md
file: the documentation for your Python librarypresentation.mp4
(or similar file format): the video recording of your 15 minute presentationcontribution.md
file: a file describing the contributions of every member of your group.The various components of the submission should aim to demonstrate how the following aspects of the work have been addressed:
Typical description of mark:
Below 40%
Difficult to read and lacks a logical train of thought or argument. Very poor organisation and communication of work.
Between 40 and 49%
Poor style of writing with some parts difficult to follow. Poor organisation and presentation of material.
Between 50 and 59%
Satisfactorily written and presented with adequate technical content.
Between 60 and 69%
Well organised and clearly written with sound technical content. Results analysed and clearly presented.
Above 70%
Very well organised and clearly written with good technical content. Results assessed critically and arguments very well presented and supported.
Typical description of mark:
Below 40%
The work does not correspond to the project description.
Between 40 and 49%
The library includes documentation, some modular functionality and an attempt at automatic testing.
Between 50 and 59%
The documentation follows the Diataxis framework although it is poorly written. The code is modular but has a number of areas of improvement. The tests have been written and test some functionality of the code.
Between 60 and 69%
The documentation is clear. The code is written in a modular way with few areas of improvement. The tests confirm most functionality of the code and the documentation.
Above 70%
Well written documentation, code is modular and follows all conventions and guidelines covered in the course. The tests cover all functionality of the code and the documentation.
Typical description of mark:
Below 40%
No state if the field or references included.
Between 40 and 49%
An inaccurate state of the field included. Some poor references included.
Between 50 and 59%
An accurate state of the field included. Good references included but with little to no context and/or explanation.
Between 60 and 69%
A well written state of the field and good references with context and depth.
Above 70%
Outstanding state of the field demonstrating a great understanding not only of the library but of the already existing tools. The references are all of high quality and a thorough demonstration of understanding is given.
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.
A list of titles of past projects:
LinAlg: Determining and Utilising Bases of $R^n$ Vector Spaces
Solving Lattice Geometry Questions in Python: Geometreg
OrbiPy
relations
Exploring the possibilities of Noughts and Crosses
Revs: Voluments of revolution
Camel
StatsTestLib
Polynomial Python Library
Risk and Return in Financial Markets
Basketball
Projectile motion
Blackjack: A Python Library for Computing Probabilities in a Game of Blackjack
Probability Distributions In Python: PDIP
Financial statement analysis
Elasticity
Quantum
ProjectPy – Projectile Motion
Preypredator
Pyclipse
Capman - Capital Management
The conv library
Random Vehicle Registration Generator
Poker.py: A Python Library for Poker Simulations
2DCentreOfMass: A Python library for the computation of the centre of gravity of a polygon
Project motion
Financial Ratios
Simulating a poker game
Projectile Motion Library
Motion
Hypothesis testing
SUVAT
Investment Appraisals
Modelling a Sudoku Using Python: Automorphic Library
Primes and Their Conjectures
Loan Calculator
Taylor’s Polynomial
investement appraisal
Modelling Particles
Simulating Newton’s Laws of Gravity: GBRT
Survival Analysis Tool
ballthrow.py
SUVAT solver
Blackjack
SUVAT:A Python Library-SUVAT Calculator
Modelling Projectiles project
Macaulay duration: A Python library for describe the volatility of the bond price
The ProfitRatios Library
Graphical Calculator
Using Python to play Blackjack
Rubiks Cube solver
Area and Volume Script
Financial statement
Optimizing Clash Royale Deck Composition: Balancing Elixir Cost and Cycling Efficiency
Understanding House Investments
Zip’s Law
A Python Library to Quantify the Relationship Between Engagement and Achievement while Considering Contextual Factors
Balance sheet analysis
Ciphers
Distributions
Predicting the Landing Point of a Ball using Python
Modelling a pully system
Cup2py - Proof of concent for recursive decentralised peer to peer communication protocal
Music Maker: Python library generating sounds from mathematical expressions
Modeling Lifts with Python: Lifts
Base converter with Python
Using code to create music: jam
Breaking good: generating hydrocarbons
Solving ciphers using Python: CiPy
Rubik’s cube solver
Wildflowers: sequences.py
Shaper creator
Appraisal: A Python library for Investment Appraisal
Modelling Variations of the Josephus Problem with Python: Josephy
A python library to summarise Basic Statistical Data
Slopes: modelling objects on a slope
Fractpy: generating fractals in Python
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