CS 151 Fall 2003

LecturesTTh 12:00 - 1:30 Ryerson 251

ExamsExam 1: 10/16
Exam 2: 11/6
Final Exam: 12/11 10:30am Ry251

TextHow to Design Programs

Syllabus
WeekTopicReadings
9/30, 10/2Basic forms of DataCh 2 - 5
10/7, 10/9Structures and UnionsCh 6 - 7
10/14, 10/16 (exam1)ListsCh 9
10/21, 10/23Lists and TreesCh 10 - 15
10/28, 10/30Iterative Refinement and Multiple DataCh 16 - 17
11/4, 11/6 (exam2)LocalIM 3
11/11, 11/13AbstractionCh 19 - 21
11/18, 11/20Generative RecursionCh 25 - 28
11/25AccumulatorsCh 30 - 32
12/2Generative Recusion

Supplementary
Reading
The Little Schemer
by Freidman and Felleisen

HomeworkHomework is due each class period, at the beginning of class. Print it out and hand it in.
Due DateLanguageProblems
11/25Intermediate Student + lambdaHtDP 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/20Intermediate Student + lambdaHtDP 27.3.2 27.4.1
11/18Intermediate Student + lambdaHtDP 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/13Intermediate StudentHtDP 19.1.5, 20.2.2, 21.1.2 (in last one, formulate fold's contract)
11/11Intermediate StudentHtml: 1.1 - 1.3
11/4Intermediate StudentHtDP: 17.8.4 and 18.1.12 (Hint: think about hand evaluation for the two functions)
10/30Beginning Student w/ List abbrevHtDP: 17.7.1 - 17.7.4
10/28Beginning Student w/ List abbrevHtDP: 14.2.5, 14.4.1 - 14.4.4, 15.1.4
10/23Beginning Student w/ List abbrevHtDP: 12.2.1, 14.1.4, 14.1.5
10/21Beginning StudentHtDP: 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/14Beginning StudentHtDP: 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/7Beginning StudentHtDP: 2.2.5, 2.3.1, 4.2.4, 5.1.2, 5.1.5
Images: 1.1 - 1.5

Mailing ListSubscribe Archive

SoftwareDrScheme

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