Write, compile, and run a piece of computer software that performs some task you deem valuable.
A functionality at your workplace that you always thought would be helpful, but never had the time (or the
knowledge) to put together.
A program that organizes your media library.
A program that organizes your grocery shopping.
Note that when grading your assignment, we will evaluate originality, complexity (the more complex, the better), and
your presentation (see deliverables below). You have complete flexibility on what you would like to do, but the project
has to satisfy certain (minimal) requirements:
Use C++ or Python.
Use object-oriented programming. Your project needs to contain at least one class definition, and at least one
Use at least two library functions that we did not use in class. You are welcome to import any liberty you would
Your program needs to consist of at least two files and needs to have at least 400 lines of code (C++, 250 in
Python). You are welcome to use code from the assignments or any other code you find (e.g., online, though you
need to refer to its source), but that code will not count towards the minimum requirement. So 400/250 lines of
original code would be more appropriate.
Deliverable: Your submission should be a zipped folder of two files – one is a zipped folder with all your code,
and the other one should be a pdf document of at most four pages. Structure the pdf as follows:
1. describe what your are doing (i.e., the functionality);
2. describe your implementation – what files are there, and what routines (you can e.g. use UML diagrams to
illustrate the architecture); and
3. demonstrate the functionally including screenshots.