The Little Schemer - 4th Edition, by Daniel P. Friedman and Matthias Felleisen, ISBN 0-262-56099-2
You must follow this link and sign up: I will not be using the WebCT mailing list (but WebCT will be used for homework assignment and submission). If you want to use a non-Stevens email address, please let me know as otherwise I assume such requests are spam.
We'll cover roughly chapters 1-4, and 8, in the Rosen textbook. Section numbers with dots, like 1.1, refer to Rosen; readings in the Little Schemer are written like LS2 for chapt 2.
Homework is due Sunday midnight unless otherwise announced (i.e., 12am Monday).
| week | topic | reading | assignment |
| 1 | predicate logic | xx-xxii, 1.1-1.4 | sect 1.1(exercises 10 and 12), 1.2(10,16,18,22), 1.4(6,10,18) |
| 2 | proof, sets | 1.5-1.7 (thru p90), LS chapt 1 | 1.5(4a,c,e; 14c), 1.6(6,10), 1.7(14) Use line-numbered proof style for these. |
| 3 | sets, functions | 2.1-2.3, LS chapt 2 | 2.1(2a,2b,5), 2.2(12,16a), 2.3(10,16) For proofs, try to use calculational style. |
| 4 | sequences, induction | 2.4, 4.1 just thru p270 | 2.2(22), 2.3(8,12,20,22), 2.4(2) |
| 5 | induction, recursion | 4.2-4.3, LS chapt 3 | 4.1(4,6,18a-e), 4.2(12) |
| 6 | algorithms, complexity | 3.1-3.3 | 3.1(4,6,8,24) in Scheme (for 24 use list of pairs) |
| 7 | catch up (no Tues class) | LS chapt 4 | none (but test this Thurs in lab) |
| 8 | recursive algorithms (samples in lect12.ss) | 4.4, LS chapt 5 | hw25oct09.pdf |
| 9 | relations | 8.1-8.3, LS chapt 7 | 8.1(2,4,30,32), 8.3(2,6,8), lab completion |
| 10 | relations | 8.4-8.5, LS chapt 8 | 8.4(16,18), 8.5(2,6,16,20,22,24) |
| 11 | integers, division, primes | 3.4-3.5 | 3.4(4,8,16,20), 3.5(4abcd,10,24) |
| 12 | integer algorithms, number theory | 3.6-3.7 | 3.6(20), 3.7(2abcd,6) |
| 13 | number theory: crypto (no Thurs class) | 3.7 | none |
| 14 | graphs | 9.1 | 3.7(18) |
| 15 | system modeling | review | none |
Students are responsible for reading and understanding the course policies in these web pages and for announcements made in class and in the course email list.
During lecture, please refrain from using mobile phones or otherwise being impolite. Use of notebook computers is mandatory in labs, and we may often use them in lectures. But in lecture they can sometimes be disruptive or distracting. The instructor reserves the right to say notebooks (and similar devices like PDAs) must be put away.
The course score is a weighted average of the following categories.
Labs are ``closed'': the assignment is given, completed, and graded during the lab session. Group work is at the discretion of the TA.
There are no make-ups for labs or exams. The only possible exceptions are in the case of death in the student's immediate family or near-death experience of the student; advance notice is required.
There may be short, unannounced quizzes in class, which count in the ``homework'' grade category. The purpose is to motivate attendance and to help both you and your instructor gauge your progress.
This is a course on discrete math, not on Scheme. We will use a study a small, subset of the language in order to (a) develop skill in pure functional programming and (b) focus on the math. There will be about 10 homework assignments, often involving small Scheme programs. Homework will be accepted up to 24 hours late, at a penalty of 40% grade reduction.
Except when groups are explicitly allowed, work must be done individually. You are encouraged to discuss the problems with your classmates but you must not share details of the solutions. If you are unsure whether you have shared too much, discuss the situation with the TA or instructor; it is your obligation to avoid even the appearance of cheating.