Assignments
This page is a master list of all assignments and due dates for the course. It will be updated as assignments are made available.
Assignments are due at 4:00pm (the start of class), unless otherwise noted. I may make them due slightly later in Gradescope to account for upload delays, last-minute problems, and whatnot, but ultimately you are responsible for setting aside enough time to complete and upload each assignment on time.
Solutions, when available, are password-protected; the course username and password are on the Moodle site.
Note that the estimated time to complete each programming assignment is just that: an estimate. It assumes that you are fluent in Java through the 121 material, and have had no difficulty with in-class exercises and homework assignments. If these assumptions are not true, you will want to budget more time. Don’t take an estimated time of an hour to mean that it’s OK to start exactly an hour before an assignment is due! Start assignments early so the course staff will have time to clarify points of confusion for you, and to give you time to overcome unexpected difficulties.
- Due Sep 06 Thu: Homework 01: Variables and Scope [solution]
- Due Sep 07 Fri 9pm: Assignment 01: Hamspam
- Quiz Sep 10 Mon: Quiz 1 will be in discussion; sample questions
- Due Sep 11 Tue: Homework 02: Control Flow [solution]
- Due Sep 13 Thu: Homework 03: Unit Tests [solution]
- Due Sep 14 Fri 9pm: Assignment 02: Bus Simulator
- Due Sep 18 Tue: Homework 04: Classes, Objects, Methods [solution]
- Due Sep 20 Thu: Homework 05: Equality, Namespaces, Packages, and the CLASSPATH [solution]
- Due Sep 21 Fri 9pm: Assignment 03: Working with Strings and Lists
- Quiz Sep 24 Mon: Quiz 2 will be in discussion; sample questions
- Due Sep 25 Tue: Homework 06: Arrays and Lists [solution]
- Due Sep 27 Thu: Homework 07: Linked Lists [solution]
- Due Sep 28 Fri 9pm: Assignment 04: DNA Sequence Assembly
- Due Oct 02 Tue: Homework 08: Working with Lists [solution]
- Due Oct 04 Thu: Homework 09: Writing Comparators [solution]
- Due Oct 05 Fri 9pm: Assignment 05: Scheduler
- Due Oct 11 Thu: Homework 10: Math Sets, Java Sets [solution]
- Due Oct 12 Fri 9pm: Assignment 06: Similarity Detector
- Quiz Oct 15 Mon: Quiz 3 will be in discussion; sample questions
- Due Oct 16 Tue: Homework 11: Hashcodes [solution]
- Due Oct 18 Thu: Homework 12: More Help for Santa [solution]
- Due Oct 19 Fri 9pm: Assignment 07: Needle in a Haystack
- Quiz Oct 22 Mon: Quiz 4 will be in discussion; sample questions
- Due Oct 23 Tue: Homework 13: Map Finger Exercises [solution]
- Due Oct 25 Thu: Homework 14: Running Time [solution]
- Due Oct 26 Fri 9pm: Assignment 08: Image Mosaic
- Due Oct 30 Tue: Homework 15: Static Method Finger Exercises [solution]
- Due Nov 01 Thu: Homework 16: Sorting [solution]
- Due Nov 02 Fri 9pm: Assignment 09: Information Retrieval
- Quiz Nov 05 Mon: Quiz 5 will be in discussion; sample questions
- Due Nov 06 Tue: Homework 17: Graph Search [solution]
- Due Nov 08 Thu: Homework 18: Graphs [solution]
- Due Nov 09 Fri 9pm: Assignment 10: Search
- Due Nov 13 Tue: Homework 19: Growable Stack [solution]
- Due Nov 13 Tue 9pm: Bonus Homework B0: Initial Experience in CS Survey
- Due Nov 16 Fri 9pm: Assignment 11: Crawler
- Quiz Nov 26 Mon: Quiz 6 will be in discussion; sample questions
- Due Nov 27 Tue: Homework 20: Reversing a Queue [solution]
- Due Nov 29 Thu: Homework 21: Recursion [solution]
- Due Nov 30 Fri 9pm: Assignment 12: War
- Due Dec 04 Tue: Homework 22: More Recursion [solution]
- Due Dec 06 Tue: Homework 23: Even More Recursion [solution]
- Due Dec 07 Fri 9pm: Assignment 13: Hangman
- Quiz Dec 10 Mon: Quiz 7 will be in discussion; sample questions
- Final Exam Dec 14 Fri 3:30pm–5:30pm in ILC S331 (our classroom)