CS 139 Algorithm Development
PA0: Making art with Scratch

Due: Tuesday, Sep 10th at 11:59 PM

Objectives

The students will:

Instructions

Now is your chance to shine! You have already introduced yourself with the "about me" exercise, created a "dance party" with multiple sprites, and learned about several programming constructs. In this assignment, you will create an original work of interactive art. Viewers should be able to participate with your artwork using the four arrow keys:

It's up to you where to handle arrow key events: in a single sprite, in multiple spites, on the stage, all of the above, or something else. Your project should also include some aspect of random behavior, for example:

Random numbers can be used in Scratch in place of any regular number (i.e., whenever there's a rounded placeholder in a block). You can even pick a random number between two random numbers!

Refer to the "Arts" handout for a list of other recommended blocks.

Minimal Requirements

Your project must contain the following elements (at a minimum):
  1. Three or more sprites that change costumes or colors
  2. Different interactions for each of the four arrow keys
  3. An if-else block inside of a loop (e.g., forever or repeat)
  4. Use of random numbers (but don't randomize everything)
  5. Some original drawing, either with sprites or pen block.

Be Creative

You can design any project you like as long as it satisfies the above requirements. And just for fun, consider adding an Easter Egg.

Consider any or all of the following:

  1. Additional key behavior.
  2. Interaction with the user (game behaviors) above the listed 4 key behaviors.
  3. Telling a story or performing a play.
  4. Creative use of audio or photographs.

Deliverables

Submit the following via Canvas:
  1. Your name, project title, and one-paragraph description of your project. If you used images, audio, or code from another source, you must acknowledge it in this file as a second paragraph.
    Please save these in a plain text file (not Word). You should include your name at the top of the file.

  2. A representative screenshot of your artwork.
    Right click the stage and select "save picture of stage..."

  3. Your Scratch project file itself.
    Note that Scratch embeds any images/sounds you add.
Your files must be named pa0.txt, pa0.gif, and pa0.sb (or pa0.sb2 if you use the online version). Attach these files separately to your submission (please do not zip them). Canvas will attach your name to the files when they are downloaded.

We will replace the virtual gallery of your projects for all students to enjoy. So make sure you do a professional job on all three of these deliverables! See the pictures in the lab for examples of other projects.

Honor Code

This assignment should be viewed as a take home exam. Your submission must conform to the JMU Honor Code. Authorized help is limited to the lab handouts, the TAs for any CS139, CS149 or CS159 section, and the professor for your section. Copying work from another student or the Internet is an honor code violation and will be grounds for a zero on the assignment or worse if you have any prior violations. If you make use of images, audio, or code from another source, you must acknowledge that in some way in your project (maybe a "splash screen" as the project opens) and must also be acknowledged in the project description.