Programming Languages (CS302 2007S)

Front Door

This handout is also available in PDF.

Welcome to the Spring 2007 session of Grinnell College's CSC 302, Programming Language Concepts. The course is described fairly well in the official blurb. My take on this course is that we'll be expanding your knowledge of the programming language paradigms while investigating design issues in programming languages. While we will touch on (and use) a number of languages, most of the emphasis will be on higher-level issues.

I've taught courses in programming languages for a number of years. Last year, I began to make some significant changes to the course. Last year, I placed significant emphasis on readings from the primary literature (rather than from textbooks) and incorporated some in-depth exploration of two languages Grinnell CS majors should know well - Scheme and Java. This year, I'm doing a bit more of the same, but I'm also incorporating some exploration of other languages. Expect the syllabus to change regularly as I figure out what I want to emphasize and deemphasize.

You may also find it useful to read the class faq.

Meets: MWF 9:00-9:50 in Science 2435.

Instructor: Samuel A. Rebelsky, Science 2427. Office hours MTuWF 11:00-12:00

Regular Work: Because you will often be reading primary materials, rather than distillations of those materials, I will expect you to read those materials carefully and to reflect on them. For each reading, you will send me a one-paragraph reflection on some aspect of the reading by 8:00 p.m. the night before we are scheduled to discuss the reading in class. You will also have regular programming assignments.

Grading (subject to change):

My experience shows that students who turn in work late learn significantly less than students who turn material in on time. (I'm not sure about cause and effect.) Hence, I strongly discourage late assignments. Unless prior arrangements have been made, assignments are due within five minutes of the start of class. After that they are considered late. Late assignments are penalized one letter grade per day late (or fraction thereof).


There is no textbook for the course. We will use a variety of readings from the literature, which I will distribute to you as appropriate.

Good-Faith Grade Guarantee:

Students who make a good faith effort in this class will pass the class, with at least a C. A good-faith effort includes missing no more than two classes, turning in every homework assignment and reflections on at least 90% of the readings, and spending the requisite time on each examination.

Extra Credit: I offer a number of forms of extra credit during the semester. Here are some of the most common ones. Throughout the term, I may suggest other forms of extra credit.


At times I will post your work or notes about you in the course web. I tend to leave everything available for past and future generations. If you would like the references to you deleted, please notify me after the semester has ended.

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

This document was generated by Siteweaver on Sun Apr 29 11:24:47 2007.
The source to the document was last modified on Mon Jan 22 08:32:31 2007.
This document may be found at

You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

Samuel A. Rebelsky,