How To
Design Programs: An Introduction to Programming and Computing, by Matthias
Felleisen, Robert
Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. MIT
Press (2001). ISBN: 0262062186 [required] Hackers & Painters,
Paul Graham. O'Reilly Media, Inc. (2004).
ISBN: 0596006624 [recommended: There will be required
readings found in this book, but they will also be available
electronically.
Still, this is a thought-provoking and well-written book and I
encourage you to acquire a copy for your personal library.]
Time and place: Tues. & Thurs., 10:00-11:50, Voskuyl Library 106.
Syllabus (coming soon).
Tentative class schedule
(coming soon).
This course introduces students to solving problems by writing computer
programs in the language Scheme.
Students are not expected to have had
any prior programming experience. My goal is for everyone to
have
fun learning this material. Whether you do or not is entirely
up
to you. However, I will guarantee that if
you want to do well in the course, you will do so if you invest the
necessary time.
Scheme is a wonderfully simple yet powerful language that is ideal for
students new to Computer Science. There are only
a hand-full of language elements and we will learn them early in the
semester. The simplicity of the language lets us quickly
reach a
stage where we can write programs that do interesting and fun
things. We will be writing network applications and simple
animated games well before the end of the semester.
By the end of the semester,
you will be reasonably fluent in Scheme. We will model the
course
after learning a foreign language by immersion. For most class
meetings, we will introduce some new material and use that to write
programs
-- sometimes together, sometimes in pairs, sometimes individually.