A schedule of lectures tells what I plan to talk about, and what I expect you to have read, by each class meeting.
The official subject of this course is programming languages. But I feel it would be irresponsible of me to teach programming languages without teaching something about software engineering at the same time. Software engineering includes such simple ideas as the "edit-compile-run-debug" cycle you all learned in last year's CS courses, the aspects of "programming style" I've discussed in class (and many others), and lots of other techniques people have learned over the years for writing good, working, efficient, readable, modifiable programs quickly. For some of these ideas, please read my List of Adages on Software Engineering.
After the midterm exam (on 7 Nov), we'll switch languages from C to Scheme. I haven't ordered a Scheme textbook for you, since I haven't found a really good one suitable for this course. But I've written a brief tutorial on Scheme and how programming in Scheme differs from programming in Pascal or C; please read this tutorial. After that, you should read as much as you can of the on-line Scheme reference in "info scheme reference". Since many Scheme programs are recursive, you might also want to read Chapter 11 of the C textbook, which covers recursion from a C perspective.