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!
In-person final project presentations have been cancelled. Instead, we give you two alternatives:
We recognize that it will be more difficult to collaborate on this project without section meetings and in-person office hours. We will take this into account when assigning project grades. To collaborate on Processing projects remotely, you may consider using Codeshare to collaboratively edit code, or Zoom Video Conferencing (now free to UW students) to share your screen.
This project is to be completed in groups of no more than 2. We strongly encourage you to work in pairs, since you will be able to divide up the work and produce a more complex project. If you plan on working with a partner, please let one of the teaching staff know ahead of time so that we can set up groups on Canvas. That way, you and your partner will only need to submit one copy of each part of this assignment.
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:
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. It may be helpful to write down "safe goals" that you are sure you can accomplish, along with "reach goals" that you will work on if you have time.
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.
.pde), imported image files (
.jpg), and imported data files (
.csv). Please include the names or initials of your group members in the file name.
.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.
You must submit your project (including video and project files) before 2:30pm on March 19.
Deciding on a project of your choice and design can be tough! Here are some recommended program categories. Remember to discuss your project idea(s) with a TA before starting on your design document. Projects should be "G-rated" and of sufficient programming difficulty.
The following ideas are discouraged because they are generally too easy or similar to completed assignments:
Please don't use another person's project to start creating your own – we want you to start from scratch. Nevertheless, getting inspiration from other projects, programs, etc. is encouraged. Here are some past CSE120 projects that may be good for generating ideas:
Notes: Demo should have included a slower run to show that the old record persists.
Notes: Video is long because the game takes a while to explain.
Notes: Video does not include discussion of project complexity.
Notes: Video runs slightly long. Multiple avatars and input checking sufficiently added complexity to the standard Hangman game. Complexity portion should have included some high-level discussion of implementation details.