Instructor: Doug Downey
Office Hours: 3:00-4:00PM Wednesday (or by appt), Ford 3-345
Email: ddowney <at> eecs <dot> northwestern <dot> edu
Teaching Assistant: Casey Klein
Office Hours: 1:00PM-2:00PM Mon., Ford 2-215
Email: clklein <at> eecs <dot> northwestern <dot> edu
Will we have seven homework assignments, one each week. The turn-in procedure is given below. Note that LATE ASSIGNMENTS WILL NOT BE ACCEPTED. Thus, an imperfect assignment turned in on time is much better than a late assignment!
Note: In order to receive full credit, you should strive to not only write code that works, but also to write code that is simple and readable. Almost always, only small changes to the template (with helper functions) are required to complete the homework assignments, and you should aim to write code that is that simple. Especially in the case that your code has a bug, ensuring it is readable and follows the design recipe closely will maximize the partial credit you receive.
Problem Set 1 | (extended) Due 11:59PM Thursday, January 13 | 6 pts |
Problem Set 2 | Due 11:59PM Friday, January 21 | 6 pts |
Problem Set 3 | Due 11:59AM Friday, January 28 | 7 pts |
Problem Set 4 | Due 11:59PM Thursday, February 3 | 7 pts |
Problem Set 5 | Due 11:59PM Thursday, February 10 | 7 pts |
Problem Set 6 | Due 11:59PM Thursday, February 17 | 10 pts |
Problem Set 7 | Due 11:59PM Wednesday, February 23 | 7 pts |
http://users.eecs.northwestern.edu/~clk800/nu-eecs111.plt
Click OK then wait until the installer progress window shows the line "setup-plt: done" before closing it. Restart DrRacket.
Part 1 | Due 11:59PM Friday, March 18 | 20 pts |
Part 2 | Due 11:59PM Friday, March 18 | 5 pts |
Week of January 3 |
HtDP 2nd Ed.: Prologue |
Week of January 10 |
HtDP 2nd Ed.: Chapter 2 |
Week of January 17 |
HtDP 2nd Ed.: Chapter 4 |
Week of January 24 |
HtDP 1st Ed.: Chapter 14 SICP 1.1 SICP 1.2 |
Week of January 31 |
HtDP 1st Ed.: Chapter 17 HtDP 1st Ed.: Chapter 18 |
Week of February 7 |
HtDP 1st Ed.: Chapter 19 HtDP 1st Ed.: Chapter 20 |
Week of February 14 |
HtDP 1st Ed.: Chapter 15 HtDP 1st Ed.: Chapter 25 HtDP 1st Ed.: Chapter 26 |
Week of February 21 | None |
Week of February 28 |
HtDP 1st Ed.: Chapter 30 HtDP 1st Ed.: Chapter 31 |
Week of March 7 | None |
Week of January 3 |
M: Intro Tu: No class W: Basics of computation and functions F: Design recipes |
Week of January 10 |
M: Conditionals and Structures Tu: Review W: Structures and Templates in the Design Recipe F: More on structures and Lists |
Week of January 17 |
M: No class (MLK Day) Tu: Review Structures and Lists W: Continue struct/list review, plus sorting. Also: simple list syntax examples F: Family trees |
Week of January 24 |
M: Data abstraction (1) Tu: Remove, append, review lists and trees W: Binary Search Trees F: Homework #3 review, Invariants |
Week of January 31 |
M: two complex pieces of data Tu: Cancelled (due to weather) W: Cancelled (due to weather) F: Review of Problem Set #4 |
Week of February 7 |
M: local Tu: Practice Exam KEY, Review local, multiple complex args W: abstraction F: lambda |
Week of February 14 |
M: mutually referential data definitions Tu: Review lambda, abstraction, map, filter W: generative recursion, binary search F: quicksort |
Week of February 21 |
M: Euclidean algorithm, graphs Tu: Review for exam W: Graphs F: Exam |
Week of February 28 |
M: more graphs Tu: Exam Review W: Accumulators F: Accumulators and graphs |
Week of March 7 |
M: Missionaries and Cannibals Tu: No class W: Queues and finding shortest paths F: Autosnake!, also need graphs code |