CSCI 150: Final Project

Due: 4PM on Saturday, December 12 (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:

  1. Implementing a simple game (e.g., a card game for a user to play against a computer or with a friend)
  2. Creating art with algorithms (e.g., using the picture or turtle modules)
  3. Participating in the Critter Tournament! (best for an individual final project)
  4. Exploring additional libraries in Python (e.g., using matplotlib to plot charts for some data set that you are interested in)
  5. Writing a children's story teaching important computer science concepts (e.g., loops, conditionals, functions, recursion)
  6. Investigating a subfield of computer science (e.g., artificial intelligence, computational social science, bioinformatics) and summarizing your findings in a written report
  7. 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 up to three students on the final project. Your team members could be students with whom you collaborated on the lab assignments, or you can find new team members. It might be helpful to find other students who are interested in creating a similar final project so that everyone is interested in and engaged with the project (Piazza is a great place to propose ideas and find team members).

Deliverables

Your project has four deliverables:

  1. An initial proposal [due Tuesday November 24 at 11:59 PM on Gradescope]
  2. The main product of your final project (e.g., a program, a written report) [due Saturday December 12 at 4:00 PM on Gradescope]
  3. An evaluation of your team members [due Saturday December 12 at 4:00 PM by Google Form]
  4. A short reflection of your experience in the final project [due Saturday December 12 at 4:00 PM 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 during the Thanksgiving Break and 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.

Team Evaluation

At the conclusion of the project, you will be asked to provide feedback about the contributions of each member of the team, including yourself. Your feedback is confidential -- none of your team members will know what you say about them, so please feel free to be honest.

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: 70%
  • Evaluation by Group Members: 10%
  • Reflection: 10%