Change Contents of the Bubble
View this PageEdit this Page (locked)Uploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Homeworks-Summer 2006

HW1: Create a Picture collage


Due Date: Mon 3 July

Implement a class with a static public void main() method that, when executed, creates and shows a collage of pictures. You need to have one picture appear four times: The original time, then three other times with some image manipulation. You're welcome to add additional pictures if you'd like. Mirroring the canvas horizontally or vertically often improves the composition of the collage, but is not necessary. You must use a Turtle to do some of your drawing.

Your method should use FileChooser.getMediaPath() to access pictures.

Turn in your PictureCollage class, any additional pictures that you add to your media folder to create your collage, and your Picture class if you end up adding any additional methods to it. Turn in via email to guzdial@cc.gatech.edu.

Please consider sharing your collage on the Gallery at Oxford-Summer 2006

HW2: Use Weaving and Repeating to Create Music


DUE DATE: Mon 10 July

Using the methods developed in class to play with linked list of music, create a song.

You only have to use SongNode and have a single part with a single instrument.
For +2 points extra credit, use the SongPart class and create your song with more than one part and instrument.

For +5 points extra credit, implement a new kind of repeat or weave – maybe one that weaves two copies each time it does an insert? Include your modified SongNode or SongPart classs in your turnin.

You will create a class (with some cunning name like MyWovenSong) with a main that will assemble your song, then open it with showFromMeOn (or show–whatever you need to do open up the notation View on your masterpiece). Please put comments in your class:
  1. With your name, GT-email address
  2. Explaining what you're doing

Turn in to Mark via email:

Please consider sharing your music on the Gallery at Oxford-Summer 2006

HW3: Create a tiled pattern


DUE DATE: Mon 17 July

Using any of the linked lists of pictures that we created (where ordering represented linearity, or layering, or using turtles to walk the list), implement three additional methods (where firstpicturinlist is a node, not actually a picture):

You must also provide a class named PictureTest that has a main() method which utilizes all three of your new methods. When the grader executes the main(), it should (a) show a background with three or more pictures in it, (b) then show a new picture after weaving a new element into it, and (c) a third picture with some new pictures inserted at the end, and finally (d) use these methods to create a long pattern of smallish images via weaving and repeating, in order to create an interesting tiling on a long picture (e.g., at least 50 really-scaled-small nodes long) of at least 1000 pixels long with at least 25 pictures in it. Say "dog, dog, house, dog, dog, tree–repeat a few dozen times."

EXTRA CREDIT: +10 if you can make a tiling along four edges of a large image (say 1024x768).

Please put comments in your class before each of the methods that you create:
  1. With your name, GT-email address
  2. Explaining what you're doing:

Turn in PictureTest, your modified file(s), and any pictures you need extra for your work via email to guzdial@cc.gatech.edu.

Consider saving your final weave to a JPEG file and show it off at the Gallery at Oxford-Summer 2006

HW4: Create an animation with sound effects


DUE DATE: Mon 24 July

Note: This is a big program. Don't leave it for the last minute!

Create an animation with sounds associated with frames.
THERE MUST BE AT LEAST 20 FRAMES IN YOUR ANIMATION.

Here's how you need to do it:

You can use and modify any of the data structures that we've described in class. You can create new data structures if you'd like.

You will also need to create a class (maybe AnimationRunner?). Your TA will create an instance of this class (AnimationRunner ar = new AnimationRunner()).

From here on, there are SEVERAL ways to handle the animation.
Here's one:

For 5 points extra credit, use both Sound play() and blockingPlay() in your animation play() – but NOTE that you still can't CREATE any new sounds in your animation play() method. All the sounds still have to be in some kind of linked list data structure before you get started.

For 10 points extra credit, create a new kind of linked list of sounds where there is a variable that indicates whether the sound should be (a) play()-ed or (b) blockingPlay()-ed. Still have one sound per frame, but some sounds will be starting a background sound (those of type (a)) and others will be playing a synchronization sound (those of type (b)).

Please put comments in your classes and before each of the methods that you create:
  1. With your name, GT-email address
  2. Explaining what you're doing

Turn in to guzdial@cc.gatech.edu:

If you want (let me know in your email to me with all the pieces), I'll create a movie from your animation and post it at Gallery at Oxford-Summer 2006. If you want to do it yourself, here's one way of doing it:

HW5FINAL PROJECT: Simulate an ecology around Wolves and Deer


DUE DATE: Tuesday 1 August
DUE DATE: Saturday 5 August at Noon

Using the Simulation Package developed in class, create a simulation of an ecology.

Setup

When running
Let's consider a timestep to be about a week. Run the simulation for 2 years (104 timesteps). Here are the starting rules.

Experimentation
You need to build Agent and Simulation subclasses to implement this scenario. But you have to explore and try different things in your simulation.

Things that you might want to try changing in your rules:
Initial countsShould there be more Corn, or fewer Deer? Would culling the herd help more survive? Would more Wolves create better equilibrium?
RangesShould Deer or Wolves smell only closer, or farther? Should they not be able to jump to Corn or Deer in a single time step?

For +5 Extra Credit: Implement male and female Deer. Every 12 weeks, the female Deer can become pregnant if there is a male Deer within smell range. (You decide if the female jumps to the male, or the male jumps to the female.) Pregnancy lasts for 6 weeks, during which time the female will die if she doesn't get corn every THREE timesteps. At the end of six weeks, a new Deer is produced (randomly selected gender).

For +10 Extra Credit: Implement gendered Deer and male and female Wolves with the same kinds of rules

For +20 Extra Credit: Using the techniques of making the villagers and wildebeests, create an animation of your ecological simulation, where there are character shapes/figures/JPEGs instead of the Turtle shapes.
In addition to your program, you are to produce a Word file with graphs of all NINE of your runs – that's three runs of each of three sets of variables. Show all three variables – Wolves, Deer, and Corn per timestep for all three of the scenarios that you explored. Explain what you changed in each scenario and why you think the results differed from the other scenarios.

Generate this simulation as a series of JPEG frames, so that we can create a movie from them! You can upload your movies to Gallery at Oxford-Summer 2006

Please put comments in your classes and before each of the methods that you create:
  1. With your name, GT-email address
  2. Explaining what you're doing

Turn in to Mark Guzdial:

CANCELLED!!!
!FINAL PROJECT: Running of the Bulls at Pamplona

DUE DATE: Saturday 5 August at Noon

Using the simulation package developed in class, and replacing the turtle with character images, create a simulation of the running of the Bulls in Pamplona.

SetUp

During the Simulation
Let's imagine that a time step is a minute. Run the simulation for 30 minutes. You decide on the parameters like max speed and ranges to create a good looking simulation.

Generate this simulation as a series of JPEG frames, so that we can create a movie from them! You can upload your movies to Gallery at Oxford-Summer 2006

Please put comments in your classes and before each of the methods that you create:
  1. With your name, GT-email address
  2. Explaining what you're doing
    • Each method has a comment explaining itself
    • Each SECTION of the code, explains itself.
    • Variable and method names should be iclear/i and iunderstandable/i.

Turn in to Mark Guzdial:

EXTRA CREDIT: There is no requirement to have different types of runner, but I'll offer up to 5 points extra credit for having two or more types. One type of villager might look younger and move faster, another might look older and move slower. One might be TRYING to get hit by the bulls. Mark Guzdial


Links to this Page