Programming with
Data Structures and Algorithms

Homeworks

Assignment Date Out Date Due cs019-handin
Nile Friday, 9/3 Thursday, 9/9 nile
Cowabunga! Friday, 9/10 Thursday, 9/16 cowabunga
Filesystem Friday, 9/17 Thursday, 9/23 filesystem
Oracle Friday, 9/24 Thursday, 9/30 oracle
Brown heaps Friday, 10/1 Thursday, 10/7 brown_heaps
Amortized analysis Friday, 10/8 Thursday, 10/14 amortized
Pair prefs in: Fri, 10/8; announced: Wed, 10/13
Parallelism* Friday, 10/15 Thursday, 10/21 join_lists
Pair prefs in: Mon, 10/18; announced: Wed, 10/20
Circuit analysis* Monday, 10/25 Sunday, 11/7 circuits
Pair prefs in: Mon, 11/1; announced: Wed, 11/3
Tour guide* Monday, 11/8 Sunday, 11/21 tour_guide
Seam carving Monday, 11/22 Sunday, 12/5 seam_carving

* 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.

Practice Problems

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.