Software · SP-01
CS50P Final Project
The capstone application for Harvard's Introduction to Programming with Python — built to be read, tested and maintained, not just to run.
- Issuer
- Harvard CS50
- Course
- CS50P
- Language
- Python
- Completed
- 2022
Brief
CS50P closes with an open final project: the student defines the problem and delivers a working Python program together with its tests and documentation. The grading weight sits on structure and correctness rather than on scope.
Approach
- Structured problem solving. The problem was decomposed into functions with single responsibilities before implementation began.
- Data structures. Data modelled with the structure that fits the access pattern rather than defaulting to a list of dictionaries.
- Unit testing. Test functions written against the public behaviour of each unit, so a refactor is verifiable rather than hopeful.
- Clean code. Written to PEP-8, with naming and layout chosen for the next reader.
- SQL. Persistence handled through SQL rather than ad-hoc file formats.
Outcome
Completed and submitted, earning the CS50P certificate from Harvard University. The source stays in CS50's private submission repository, in line with the course's academic honesty policy — happy to walk through it on request.
The habits from this course — decompose first, test the behaviour, write for the next reader — carry directly into the engineering software work I do now.