CS 151 Fall 2003Lectures | TTh 12:00 - 1:30 Ryerson 251 |
| Exams | Exam 1: 10/16 Exam 2: 11/6 Final Exam: 12/11 10:30am Ry251 |
| Text | How to Design Programs |
| Syllabus | Week | Topic | Readings | 9/30, 10/2 | Basic forms of Data | Ch 2 - 5 | 10/7, 10/9 | Structures and Unions | Ch 6 - 7 | 10/14, 10/16 (exam1) | Lists | Ch 9 | 10/21, 10/23 | Lists and Trees | Ch 10 - 15 | 10/28, 10/30 | Iterative Refinement and Multiple Data | Ch 16 - 17 | 11/4, 11/6 (exam2) | Local | IM 3 | 11/11, 11/13 | Abstraction | Ch 19 - 21 | 11/18, 11/20 | Generative Recursion | Ch 25 - 28 | 11/25 | Accumulators | Ch 30 - 32 | 12/2 | Generative Recusion | |
|
| Supplementary Reading | The Little Schemer by Freidman and Felleisen |
| Homework | Homework is due each class period, at the beginning of class. Print it out and hand it in.
Due Date | Language | Problems |
---|
11/25 | Intermediate Student + lambda | HtDP 11.2.2, 21.2.1, 28.2.1, 28.2.2, 28.2.3, 28.2.4 Use the teachpack show-queen.scm to get an idea of which queens threaten which spaces.It provides a single function, show-queen : (listof (listof boolean)) -> void that lets you explore a particular board configuration. The green dot is where your mouse is. The orange and red dots are where the queens are. The queens are red when they threaten the green dot and orange when they don't. Try this:(show-queen
'((#t #f #f #f #f #f #f #f #f #f)
(#f #t #f #f #f #f #f #f #f #f)
(#f #f #t #f #f #f #f #f #f #f)
(#f #f #f #t #f #f #f #f #f #f)
(#f #f #f #f #t #f #f #f #f #f)
(#f #f #f #f #f #t #f #f #f #f)
(#f #f #f #f #f #f #t #f #f #f)
(#f #f #f #f #f #f #f #t #f #f)
(#f #f #f #f #f #f #f #f #t #f)
(#f #f #f #f #f #f #f #f #f #t))) #t and #f are shorthands for true and false, resp. | 11/20 | Intermediate Student + lambda | HtDP 27.3.2 27.4.1 | 11/18 | Intermediate Student + lambda | HtDP 21.2.3, 23.4.1, 24.0.9, 23.5.1, 23.5.2, 23.5.5 (if you can't find a math book, post on the mailing list) (use the scheme function error to raise an error) | 11/13 | Intermediate Student | HtDP 19.1.5, 20.2.2, 21.1.2 (in last one, formulate fold's contract) | 11/11 | Intermediate Student | Html: 1.1 - 1.3 | 11/4 | Intermediate Student | HtDP: 17.8.4 and 18.1.12 (Hint: think about hand evaluation for the two functions) | 10/30 | Beginning Student w/ List abbrev | HtDP: 17.7.1 - 17.7.4 | 10/28 | Beginning Student w/ List abbrev | HtDP: 14.2.5, 14.4.1 - 14.4.4, 15.1.4 | 10/23 | Beginning Student w/ List abbrev | HtDP: 12.2.1, 14.1.4, 14.1.5 | 10/21 | Beginning Student | HtDP: 9.2.3 9.3.3 9.5.3 9.5.5 Images: 3.1 - 3.4 (note: install new teachpack and image .plt) | 10/14 | Beginning Student | HtDP: 6.3.1 (1, no box drawing), 6.4.1(1), 6.5.1(1), 7.2.2 (make sure all vehicles have wheels) Develop the function toll. It accepts a vehicle and returns the amount it must pay at a toll. The toll costs $0.50 per wheel. Images: 2.1 - 2.2 | 10/7 | Beginning Student | HtDP: 2.2.5, 2.3.1, 4.2.4, 5.1.2, 5.1.5 Images: 1.1 - 1.5 |
|
| Mailing List | Subscribe Archive |
| Software | DrScheme |
| Lab Space | CS Lab |
| Grading | Homeworks: | 10% | Exam One: | 25% | Exam Two: | 25% | Final Exam: | 40% |
|
| Course Staff | Robby Findler Office Hours: by appt Office: Hinds B-031
Siwei Wang Office Hours: M, Th 4 - 5pm Office: Ryerson 178 |
|