Fundamentals of CS I (CS151 2001S)

Front Door

Welcome to the Spring 2001 session of Grinnell College's CSC 151, Fundamentals of Computer Science I, which is described relatively briefly in the official blurb. My own take on this course is that we'll be starting to develop your knowledge of Computer Science and Algorithmic Problem Solving. We will be using Scheme as our development language. As in all Grinnell classes, we'll also be working on general thinking and work skills.

In an attempt to provide up-to-date information, and to spare a few trees, I am making this as much of a ``paperless'' course as I can. Hence, materials will be in a course web. You may want to read the basic instructions for using this course web.

Warning! Experience shows that CSC151 exercises different parts of your brain than other courses (even than math courses). Expect some difficult times, but have confidence that you can get through them and that you'll come out of the course with much more knowledge.

Warning! Computers are sentient, stupid, and malicious. When things go wrong, don't blame yourself. Ask me or a TA for help.


Meets: MWThF 9:00-9:50 a.m.

Instructor: Samuel A. Rebelsky (, Science 2427. Office hours: Monday, 2:15-4:05; Wednesday, 1:15-3:05. (I tend to follow an open door policy: Feel free to stop by when my door is open or to make an appointment for another time.)

Teaching Assistant: Anne Feltovich ( Hours to be determined.

Grading (subject to change): Class participation and quizzes: 10%; Lab write ups and homework: 30% (3-5 graded assignments out of 6-10 total assignments); Project (HW6): 15%; Exams: 45% (3 graded exams).

The final examination for this course is optional. It can be used as a makeup for one examination. It is likely that I will give at least one make-up homework assignment.

Labs: Computer science 151 is taught in a collaborative workshop style. Each day, you'll work on laboratory problems with other students in the class. We may start each day with a short lecture/discussion and end with a reflective discussion.

Extra Credit: I will occasionally give you quizzes to ensure that you're keeping up with the reading. Correct answers on the quizzes will give you some amount of extra credit.

Throughout the term, I may suggest other forms of extra credit.

Books and Other Readings

Kelsey, Richard, Clinger, William, and Rees, Jonathan, eds. (1998). Revised5 Report on the Algorithmic Language Scheme. February 20, 1998. The concise and complete definition of the Scheme programming language. You won't need to understand all of it, but you'll find it helpful to keep it by your side. I'll distribute copies next week.

Rice University Programming Languages Team (1999). PLT DrScheme: Programming Environment Manual. The guide to the Scheme development environment we'll be using.

Rebelsky, Samuel (2001). The CS151 2000S Course Web. The hypertext that you are currently reading. Many of these materials (particularly those under Readings and Labs are required. You should make it a point to load the page of the day at the beginning of each class to check announcements and such.

Optional: Springer, George and Friedman, Daniel P. (1989). Scheme and the Art of Programming. Cambridge, MA: MIT Press. The textbook that we formerly used to use in the class.



Tuesday, 9 January 2001

Friday, 12 January 2001

Friday, 26 January 2001


Disclaimer: I usually create these pages on the fly. This means that they are rarely proofread and may contain bad grammar and incorrect details. It also means that I may update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This page was generated by Siteweaver on Tue May 8 13:57:27 2001.
This page may be found at
You may validate this page's HTML.
The source was last modified Tue May 8 13:53:46 2001.