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 (i.e., 12am Monday), unless otherwise announced.
| week | topic | reading | assignment |
| 1 | predicate logic | xx-xxii, 1.1-1.3 (in Rosen) | sect 1.1(exercises 10 and 12), 1.2(10,16,18,22) |
| 2 | Scheme (no lect tues) | 1.4 (in Rosen), LS chapt 1 and 2 (little schemer) | 1.4(6,10,18) |
| 3 | proofs | 1.5-1.7 (thru p90) | 1.5(4a,c,e; 14c), 1.6(6,10), 1.7(18) Use line-numbered proof style for these (like example 15 on p83) |
| 4 | sets, functions | 2.1-2.3 | 2.1(2a,2b,5), 2.2(12,16a), 2.3(10,16) For proofs, try to use calculational style. |
| 5 | sequences, induction | 2.4, LS ch 2 review | 2.2(22), 2.3(12,22), 2.4(2), hw21feb10.pdf |
| 6 | induction, recursion | 4.1, LS chapt 3 | 4.1(4,6,18a-e,20) |
| 7 | strong induction | 4.2, 4.3, LS chapt 4 | hw7mar10.pdf |
| 8 | recursive algorithms | 3.1 and 3.2, skim 4.4 | LS chapt 5 |
| 9 | asymptotic growth and algorithms | NO LECTURE TUES 23 March | hw29mar10.pdf |
| 10 | relations | 8.1-8.3, LS chapt 7, and Tautology Club (thanks to Arthur Erb for this) | 8.1(2,4,30,32), 8.3(2,6,8) |
| 11 | relations and graphs | 8.4-8.5, optionally LS chapt 8 | 8.4(16,18), 8.5(2,6,16,20,22,24) |
| 12 | integers, division, primes | 3.4-3.5 | 3.4(4,8,16,20), 3.5(4abcd,10,24) |
| 13 | integer algorithms, number theory | 3.6 & review for test | 3.6(20) |
| 14 | number theory: cryptography; applications of graphs | 3.7 | extra credit: 3.7(2abcd,6) |
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.
Use of notebook computers is mandatory in labs.
During lecture, texting and many uses of notebook computers are distracting to the user and to others. Therefore they are disallowed during lecture. This policy is, however, open to discussion and negotiation.
The course score is a weighted average of the following categories.
Letter grades are assigned on the usual basis: A = 90-100 B+ = 86-90 B = 80-86 C+ = 76-80 C = 70-76 D+ = 66-70 D = 60-66 F = 0-60
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. There won't be make-ups, but in calculating your homework average we'll adjust the score to have an effect like dropping your lowest score.
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.