Recitation 10: Final Project Proposals

Preparation

At this point in the course, you know enough about coding to write some very interesting programs! So far, the complexity of your programs has been limited, since we’ve tried to finish programs in a single lab or recitation session. For your final project, you will design and code a more complex program of your choice. You will have until the end of the course to work on your final project, so make something ambitious!

You can work on the final project either individually or with a partner.

In preparation for recitation, you will create a preliminary software requirements specification (SRS) for your program. Your design should include writing, sketches, and/or screenshots. For example:

Textual and visual description of a farming game. Four screens are shown: the chicken coop, outside your house and the chicken coop, the road to the market, and the market.

Note: Although we recommend using Snap! for this project, there is no requirement to do so. For example, you can program games using pygame or Godot, or mobile apps using MIT App Inventor. Of course, if you use something other than Snap!, we will be less able to provide assistance.

At Recitation

At recitation, the instructor will give advice on each team’s project proposals. During recitation, you should spend at least 30 minutes coding your project. Finally, you should develop a timeline, and if you are working with a partner, a plan for dividing the work.

Note: You should plan to complete your final project by the last day of class (April 29th, 2022). On the last day of class, you will present your project to the class. Links to final projects will be shared on the course website.

Collaborating in Snap!

Collaborating on code in Snap! comes with some challenges. Suppose that Peter starts the project, then shares a link with Maddie. If Maddie edits the project, then saves, her changes will be saved to her Snap! account. This means that Peter won’t see Maddie’s changes unless he looks at her copy of the project! There are several options for collaborating in Snap!

As you can see, collaborating is not as simple as editing a shared Google Doc. Similar challenges exist for every major programming language. Regardless of what tools you use, the most essential thing is to communicate who is working on what at any given time.

Submit

Ensure that all teammates submit to Moodle. Everyone should upload a PDF containing a filled-in version of the template shown below:

Template

Textual and visual description of a farming game. Four screens are shown: the chicken coop, outside your house and the chicken coop, the road to the market, and the market.
Due Dates Peter’s Tasks Maddie’s Tasks
Friday, April 15th Make it so the character can move from screen to screen Gather and/or create all the images and sounds we will need for actors and backgrounds (attribution-free)
Friday, April 22nd Code the egg hunting minigame. Code the egg thief and wild animal attacks. Code the day system and countdown. Code the egg sales and ticket purchase.
Friday, April 29th Fix bugs and help with presentation Prepare presentation and help with bugs