CSCI 150: Final Project
Due: 11:00 AM on Monday, May 10 (No Late Submissions Allowed)
Overview
The goals of this final project are to provide an opportunity for you to:
- Explore connections between computer science and your personal interests
- Practice concepts from computer science outside of the guided lab assignments
- Collaborate with peers to design and complete a self-guided project.
For the final project, you have a lot of flexibility in coming up with some application of computer science to something that interests you. You might want to review your weekly reflections for possible project ideas, which could include include:
- Implementing a simple game (e.g., a card game for a user to play against a computer or with a friend)
- Creating art with algorithms (e.g., using the picture or turtle modules)
- Participating in the Critter Tournament! (best for an individual final project)
- Exploring additional libraries in Python (e.g., using matplotlib to plot charts for some data set that you are interested in)
- Writing a children's story teaching important computer science concepts (e.g., loops, conditionals, functions, recursion)
- Investigating a subfield of computer science (e.g., artificial intelligence, computational social science, bioinformatics) and summarizing your findings in a written report
- Reading about the contributions of computer scientists to society and synthesizing their work in a written report
The total work on the project should be equal to about 1.5 labs (around 12 hours per student), so please be careful to not be too ambitious (or not give yourself sufficient credit for how much work you can do).
You are allowed and encouraged to work in teams of two students on the final project. Your team member could be a student with whom you collaborated on the lab assignments, or you can find a new partner. It might be helpful to find someone who is interested in creating a similar final project so that everyone is interested in and engaged with the project.
Deliverables
Your project has three deliverables:
- An initial proposal [due Friday April 16 at 11:59 PM on Gradescope]
- The main product of your final project (e.g., a program, a written report) [due Monday May 10 at 11:00 AM on Gradescope]
- A response to a short Google Form reflecting on your final project experience [due Monday May 10 at 11:00 AM by Google Form]
Initial Proposal
The initial proposal should be a short paragraph describing: (1) the title of your project, (2) a 3-5 sentence summary of what you want to accomplish (please provide enough detail so I understand your goal, but feel free to be concise), and (3) the names of your team members. I will read over these shortly after you turn them in so that I can give you feedback to help guide your project.
Note: if your final project is participating in the Critter Tournament, then your summary only needs to be one sentence.
Main Product
The main product of your project will depend on what you want to create. If you are writing a program, it will be your Python code and any additional necessary files (e.g., images, text). If you are writing a report, it will be the report as a PDF. A reasonable goal would be a program with ~200 lines of code or a report with around 4 pages single spaced (possibly written in a blog format, rather than a techincal report). However, these are just suggestions and not fixed requirements.
Project Reflection
Also at the end of the project, you will answer a few questions reflecting on how your project experience went, similar to the Google Form at the end of each lab.
Final Project Grading
Your final project will be graded as follows:
- Initial proposal: 10%
- Main Product: 85%
- Reflection: 5%