Project 4: Final Project

CS112 culminates in a final project. This project is to be completed over the last weeks of the semester, and can be done either solo or in pairs. The goal is to demonstrate your understanding of the concepts we’ve learned over the semester and to have some fun exploring a computer-science project of your choice!

The most important thing is that your project should be something that you care about or enjoy working on. We have provided a few suggestions, but you can also do a project of your choice. We want to help you design a project that makes you happy.

Do you enjoy baking? Try a project that makes baking easier or more fun. If you like music, you could try a project related to music. Maybe you like gaming…you could implement a (SHORT) text-based game; in fact we’ve considered assigning that as a project before!

Task: Explore your interests and come up with a project idea that you would enjoy working on! If you’re having trouble coming up with an idea, feel free to reach out to the course staff for help. Get started early; the sooner you start sketching an idea, the further you’ll get with your project.

Timeline

Project deliverables

You should submit all code files that you wrote for your project, as well as any test files you wrote, along with a README. The README should present a brief summary of your project. We will use your README as a guide to understand your code.

The README should not be long. Write at least 2 sentences for each segment, but do not write more than 2 paragraphs for any of them. It should include the following sections:

Project Presentation

We will do project presentations in person or over Zoom. Doing a presentation is mandatory, and is one of the main ways your project will be evaluated. The presentations will be informal (i.e., don’t make slides!); you will just be walking through your project with Tim (and possibly one or more TAs). All group members should be prepared to answer questions about any aspect of the project. Presentations will be scheduled in 20 minute slots, but should only take 15 minutes; the other 5 minutes is for Tim to take notes, send follow-up questions, and so on.

Project Ideas

Note: We really encourage you to work on something that you care about. So think of a project that you would enjoy working on!

But in case you’re having trouble coming up with an idea, we’re here to help! We have come up with a number of suggested project templates. You can implement one of these ideas as written, implement a modified version, or work on some other project of your choice. Regardless, we recommend looking over the suggestions to get a sense of how to scope your project.

We’ve included a suggested group size range for each project. We expect more from larger groups.

Content by Doug Woos, Tim Nelson, Robert Lewis, Ben Ryjikov, Ashley Chung, and Annabelle Gao. Special Thanks to Doug Woos and Kathi Fisler for designing previous iterations of this project.