CS10 -- Introduction to Computer Science I
Spring, 2005
(last updated 5/11/2005)

[5/11/2005] Grades are posted here for the final exam.
[4/23/2005] Updated exercise scores.
[4/13/2005] Updated exercise scores and overall scores are posted.
[3/26/2005] Information on your term project is now available here.
[3/26/2005] Grades are posted here for the second exam.
[2/14/2005] Grades are posted here for the first exam.

Wayne Iba,
office: new Math and Computer Science Building,
phone: 565-6799
Office hours: Tues, 1:30-3:30pm; Wed, 11:30am-1:30pm; Fri, 8-9am
[required] 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
Time and place: Tuesdays and Thursdays, 10:00-11:50 am, Porter Hall 3.

Syllabus (pdf).

Tentative class schedule

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.  However, my only guarantee is that if you want to do well in the course and you invest the needed time to do so, you will.

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.  Each class meeting, we will introduce some new material, and then begin writing programs -- sometimes together, sometimes individually -- using the material just presented.

Other Information:  Working together, submitting assignments and other advice.

Misc Resources:  Code bits to save you some typing or lecture or review notes.

Acknowledgements:  I may be using examples and problems from the textbook authors and the TeachScheme! workshops they organize.