
My suggestion is to create a cool animation, game, or drawing. Here's a video of my feeble example of a game. It would be better if it were relevant to Earth science concepts in some way.
Watch this video (1:25).
Click to expand to provide a transcript.
When it's running, you have to click inside the circle to make the circle go up. It will bounce off the sides and the top. Each time it bounces off the top border, it goes a little faster. If it hits the bottom, the game is over. A better version of this game would involve some kind of screen with directions at the beginning and a button to make it start, and a restart button. Maybe one of you can beef this up or create something a lot better.
Processing code for my example of a game:
// Bouncing ball game. // Don't let the ball hit the bottom. // Click inside the ball to make it go up. color bg = color ( 220 , 220 , 200 ); float ballsize = 40.0 ; float speed = 1.0 ; float y = random (ballsize, ( height - ballsize)); float x = random (ballsize, ( width - ballsize)); float ball_xdirection = 1 ; float ball_ydirection = 1 ; int points = 0 ; PFont font1; PFont font2; void setup () P size ( 200 , 200 ); font1 = loadFont( "BradleyHandITCTT-Bold-48.vlw" ); font2 = loadFont( "Garamond-14.vlw" ); } void draw () { background (bg); strokeWeight ( 4 ); ellipse (x, y, ballsize, ballsize); x = x + ((. 5 * speed) * ball_xdirection); y = y + (speed * ball_ydirection); if (x > width - (ballsize/ 2 ) || x < ballsize/ 2 )) { ball_xdirection *= - 1 ; int r = int ( random ( 255 )); int g = int ( random ( 255 )); int b = int ( random ( 255 )); stroke (r, g, b); } if (y < (ballsize/ 2 )) { ball_ydirection *= - 1 ; int r = int ( random ( 255 )); int g = int ( random ( 255 )); int b = int ( random ( 255 )); fill (r, g, b); points=points+ 1 ; println ( "Good work! " + points + " points for you" ); } if (y > height - (ballsize/ 2 )) { println ( "GAME OVER" ); textFont (font1); textAlign ( CENTER ); text ( "SPLAT!" , width / 2 , height / 2 ); textFont (font2); textAlign ( RIGHT ); fill ( 0 ); text ( "Points: " + points, width - 20 , 20 ); strokeWeight ( 8 ); stroke (bg); fill (bg); ellipse (x, y, ballsize, ballsize); fill ( 255 ); stroke ( 255 ); ellipse (x, y + ballsize/ 2 , ballsize* 2 , ballsize/ 2 ); noLoop (); } if ( mousePressed == true && mouseX <= x + ballsize/ 2 && mouseX >= x - ballsize/ 2 && mouseY <= y + ballsize/ 2 && mouseY >= ballsize) { speed = speed + 0.05 ; ball_ydirection = - 1 ; } } |
A still shot from the end of the game:

Turning in your work
Submit your program to the "small project 1" dropbox. Remember that if your program requires extra files such as fonts or external files then zip the whole thing and submit the zipped file to the dropbox.