Intro CS Assignments
Assignments by week:
Fall Term:
Winter Term:
Spring Term:
Monday, October 29
Description
Wheel of Doom
Homework
  • Your final lab of the term is to create a Wheel Of Doom (like I use in class). It should "randomly" (see below for why I put that in quotes) pick a student from the class and show their name and picture on the screen. Here are the details:

    • Every student has a name (e.g., "Joe Student"), an id (e.g., "20wod"), and an image.
    • I will provide pictures for each student, you may rename them if you wish.
    • Your program should start with a blank screen (or a screen with instructions). When the user presses the mouse, it should select one of the students "randomly" and display their name and picture on the screen. It can do this on "press" or "release" and can be instantaneous (no animation).

    Once you finish the basic requirements above, you can move on to adding bonus features. You should add at least one feature that goes beyond the minimum requirements above, but you may add several features if you wish (you will receive a limited amount of extra credit for multiple bonus features):

    • Make the "random" selection process "more fair" by making sure it doesn't pick the same person twice in a row. Or, make sure it doesn't pick again from the last 3 people picked (or whatever number seems fair to you).
    • Add animation to the selection process.
    • Add sound to the selection process (I've always liked the "god machine" sound effect from the Daily Show [original source, skip to about 1 minute in]). You'll want to read up on the SoundFile library in Processing and ask me for help to get this working.
    • Allow the user to select/deselect who is included in the selection process when the program starts (handy for taking out kids who are absent).
    • Animations/effects/sounds for students getting questions "right" or "wrong".
    • Other features you might think are fun...

    Final version is due Friday at the beginning of class. You'll have some time to work on it during class this week, but I'm expecting that you'll complete most of it outside of class as homework. Don't wait until the last minute!

Tuesday, October 29
Description
Wheel of Doom
Homework
  • Continue working on Wheel of Doom lab. Final version is due Friday at the beginning of class.
Thursday, November 1
Description
Wheel of Doom
Homework
  • Finish Wheel of Doom lab. Final version is due at the beginning of next class.
Friday, November 2
Description
MultiDrag Lab
Homework
  • Work on the MultiDrag lab:

    Your browser does not support the canvas tag.

    You should try to get the initial positions of all the boxes set by the start of next class. You may continue to work on the lab and add the other features once you've finished that. The final program should have the following minimum features:

    • You must define two integer variables at the top of your program: ROWS and COLS, which define the number of rows and columns of rectangles. All your other code must use these variables to generate and display the boxes, such that if you change ROWS or COLS you do not need to change any other code in order for the program to work correctly.
    • There should be a set of evenly-spaced, same-size, rectangular boxes filling the screen.
    • It's OK if the boxes are all one color (or, you may make them rainbow like the demo if you have extra time).
    • When you click in a box, you should be able to drag it around. If you click inside more than one box, they all should move. This is just like the WhatADrag lab you finished earlier, just with more boxes.

    Final version of this lab is due at the start of class next Friday. Don't wait until the last minute to start on this!