You are required to deliver a term project. Projects can be done individually or in pairs. Expectations from your output will be increased according to the number of people involved in the project. Also, expectations from the grad students are higher than undergrad students.
You will be required to give a demo of your project at the end of the semester.
You have to use a version control system. I will create a GitHub repository for you and grant you access.
You are free to choose the programming language you will use for implementation, as long as the language is object-oriented. Java, C++, C#, Smalltalk, Python, Ruby are among acceptable options.
The following are the deliverables of the project: