Caution! You are looking at an out-of-date version of this website from Fall 2015.
To access the current version, click here.
On this page you'll find the programming assignments for the course. If you're stuck, we suggest reading the frequently asked questions and the possible progress steps in the checklist. Our extra credit, late day, and collaboration policies can be found on the syllabus page.
# | DUE | LOGO | ASSIGNMENT | COLLABORATION | SUBMIT |
---|---|---|---|---|---|
0 | Monday Sept. 21st |
Hello World (Checklist) This assignment will introduce you to programming in Java and familiarize you with the mechanics of preparing and submitting your assignments. |
This is an individual assignment. |
Submit! |
|
1 | Monday Sept. 28th |
Conditionals & Loops (Checklist) The goal of this assignment is to write five short Java programs to gain practice with loops, conditionals, and arrays. |
This is an individual assignment. | Submit! | |
2 | Monday Oct. 5th |
N-Body Simulation
(Checklist) Your challenge is to write a program to simulate the motion of N particles in the plane, mutually affected by gravitational forces, and animate the results. |
This is an individual assignment. | Submit! | |
3 | Monday Oct. 12th |
Recursive Graphics (Checklist) Write a program that plots a Sierpinski triangle, as illustrated to the left. Then, you'll develop a program that plots a recursive pattern of your own design. |
This is an individual assignment. | Submit! | |
4 | Monday Oct. 19th |
Global Sequence Alignment (Checklist) Write a program to compute the optimal sequence alignment of two DNA strings. This program will introduce you to the field of computational biology. |
You can work with a partner on this assignment. | Submit! | |
5 | Monday Nov. 9th |
Linear Feedback Shift Register (Checklist) Write a program that produces pseudo-random bits by simulating a linear feedback shift register, and then use it to implement a simple form of encryption for digital pictures. |
This is an individual assignment. | Submit! | |
6 | Monday Nov. 16th |
Guitar Hero (Checklist) Write a program to simulate plucking a guitar string using the Karplus-Strong algorithm. Turn your computer's keyboard into a musical instrument. |
You can work with a partner on this assignment. | Submit! | |
7 | Monday Nov. 30rd |
Markov Model (Checklist) Use a Markov chain to create a statistical model of a piece of English text. Simulate the Markov chain to generate stylized pseudo-random text. |
You can work with a partner on this assignment. | Submit! | |
8 | Monday Dec. 7th |
Traveling Salesperson Problem (Checklist) Implement two greedy heuristics to find good (but not optimal) solutions to the traveling salesperson problem (TSP). |
You can work with a partner on this assignment. | Submit! | |
9 | Monday Jan. 11th |
Atomic Nature of Matter (Checklist) Re-affirm the atomic nature of matter by tracking the motion of particles undergoing Brownian motion, fitting this data to Einstein's model, and estimating Avogadro's number. |
You can work with a partner on this assignment. | Submit! |