Programming with
Data Structures and Algorithms

Supplement Date Out Date Due
Flags Wed, 9/12 Tues, 9/18
Rocket Wed, 9/19 Tues, 9/25
Filesystem Wed, 9/26 Tues, 10/2
Sortacle Wed, 10/3 Tues, 10/9
Assignment Date Out Date Due cs019-handin
Oracle Mon, 10/08 Sun, 10/14 oracle
Functional Updaters Mon, 10/15 Sun, 10/21 updater
Brown Heaps Mon, 10/22 Sun, 10/28 brown_heaps
Amortized analysis Mon, 10/29 Sun, 11/04 amortized
Parallelism pair prefs in: Mon, 10/29; announced: Thu, 11/01
Parallelism* Mon, 11/05 Sun, 11/11 parallelism
Tour Guide pair prefs in: Mon, 11/05; announced: Fri, 11/09
Tour guide* Mon, 11/12 Tue, 11/20 tour_guide
Seam Carving Mon, 11/26 Sun, 12/02 seam_carving
Nile (Java) and Filesystem (Java) Mon, 12/03 Sun, 12/09 nile_java / filesystem_java
Seam Carving (Java) Mon, 12/10 Sat, 12/15 seam_carving_java

* indicates a pair project.

All assignments are due at 11:59:00 PM.

Take a look at the short but informative Homework FAQs.

To get started using Racket, see Getting Started: Setting up DrRacket and a brief introduction to the Racket language.

Handing In Assignments

CS 19 is a paperless class. You will be handing in all of your assignments electronically. We have written a handin script to facilitate this process. This script will hand in every file in the directory you are in. If run multiple times, the script will overwrite a previous handin. Handins will be confirmed with an email sent to your CS email.

Save solution files in the appropriate directory in ~/course/cs019/*assignment*/. Then, in the Terminal, run cs019-handin *assignment*. Note that *assignment* should be replaced with the hand-in name assigned above.