Final Project
This is your chance to show off all of the computational thinking skills you have learned this quarter in a project of your choice and design! You can design almost anything you want to produce something that is interesting, useful, and challenging. Think about the vast amount of knowledge you have gained and apply it in a fun way - this is your chance to challenge yourself and see how far you can go!
You may choose to start with one of your Creativity Assignment projects, but must make significant extensions to it. See this project ideas page for brainstorming ideas and examples of past projects.
Working in a Group
This project is to be completed in groups of no more than 2. If you plan on working with a partner, please email the instructor ahead of time so that we can set up groups on Canvas so that you and your partner will only need to submit one copy of each part of this assignment.
Part 1: Project Design Document (Due 5/20)
In short, you should convince us your project will be awesome and worthy of an A! It is in your best interest to discuss your project idea(s) with a TA before starting on your design document.
Your design document must include the items listed below:
- Name(s) of student(s).
- Creative title of the project.
- A paragraph introducing the project.
- A paragraph describing the user interaction (mouse clicks, key presses, etc.).
- Explain how the program starts and ends (or win/lose if a game).
- Explain how the program will restart (automatically? with a button click? this should NOT require closing and re-running the program).
- A storyboard that clearly shows different scenes that will happen over time. These can be rough sketches, but should give us a clear idea of the flow of your project (we are expecting at least 4 boxes for your storyboard).
- Describe the hand-created assets you will use in your project. You must have at least 3. These could include a background image, a start screen, characters, items, etc. -- it's totally up to you. You can create the assets using Processing functions or other programs (e.g. Paint, Illustrator), but they must be made by your group and not found on the Internet.
This document should be much more detailed compared to your Creativity Assignment. Feel free to reach out to us if you are having trouble or if you are not sure how much detail to provide.
Submission
- Make sure that your document addresses ALL of the bullet points above.
- Make sure you include a storyboard of at least 4 different scenes.
- Submit your design document to the Canvas Assignments Page. It is recommended to submit as a single PDF, but you may submit multiple files of different types if necessary.
Part 2: Project Update (Due 5/25)
This update will be done in person during lab section on Thursday, May 25. Make sure you attend lab that day! Be prepared to quickly remind your TA what your project is about and then describe/show your progress so far, including current difficulties.
Submission
- There is no submission for this portion, but you will still be graded on showing significant progress to your TA.
Part 3: Project Submission (Due 6/2)
The final project submission will consist of the three parts described below. All of these parts are due at the same time and should be submitted on Canvas.
- Program Files: A ZIP file containing all of the necessary files to run your project.
This should include your Processing files (
.pde
), imported image files (.png
,.jpg
), and imported data files (.csv
). Please include the names or initials of your group members in the file name.
- README: This should be included in the ZIP file described above.
This is a document (
.pdf
,.txt
) that is essentially a manual for your project. The README is directed to any user who is looking at your project for the first time and wants to know what the project is about, how to interface with/use the project, and the purpose of the various variables, data structures, and functions. In short, talk about how your project works on an abstract level in terms of programming components working with each other; you should not go into specifics, or explicitly describe code. Around 2-3 pages will be fine. You can sprinkle your document with pictures if you think that they will explain your ideas better. A non-technical user should be able to understand your README.
- Project Video: This video should only be 2-4 minutes in length and uploaded to Youtube (make sure your video is viewable -- public or unlisted). In your video, introduce your group and then explain and demo your project. At the end, make sure to briefly explain the complexity of your project (what made it hard/interesting?). This need not be of Hollywood quality, but make sure that we can tell what is happening. You can use the computers in MGH 030 and 044 to make your video, as they have screen capture capabilities. For more information about making videos, please view this guide.
Submission
- Submit your ZIP file containing your program files and your README to the Project Files assignment.
- Submit your Youtube video URL (make sure the video is Public or Unlisted) to the Project Video assignment.
- If you would like to share your project video with the rest of the class, there will be a Piazza post to do so released around the time the project is due.