CSE 341 Administrivia & Useful Information

Class Meetings

Lectures, MWF 12:30-1:20, EE1 037 (New building)

Quiz AA, Th 8:30-9:20, Loew 113
Quiz AB, Th 9:30-10:20, Loew 222


Our objective is to learn fundamental programming language concepts. We approach this by acquiring practical experience with a set of four very different programming languages -- Smalltalk, Miranda, Scheme, and CLP(R). There will be an emphasis on object-oriented languages, and we'll have several lectures on Java in addition to the Smalltalk lectures. Following the study of the individual languages, we'll finish up by a comparative discussion of programming language concepts in these and other languages.

Prerequisite: CSE 143


The Sethi book has been used in previous quarters, and you may be able to get used copies from former 341 students. The Smalltalk book is recommended, since it matches the version of the language we'll be using. If you're really broke you may be able to get away without it, and just use the online tutorial. (It's not too expensive as textbooks go, though -- $20.)

There will be additional handouts for Miranda and CLP(R).

Computing Resources

We will use orcas for Miranda, Scheme and CLP(R). Any X Terminal or PC with an X server can connect you to orcas. For Smalltalk, we will use the PC Lab in Sieg 232, which contains very fast computers equipped with Intel Pentium processors. Additionally, the Smalltalk/Express software is available for installation on your personal PC. See the Object-Oriented Languages pages for details.

E-mail list.

The e-mail list for the course is set up. To subscribe send a message to cse341-request@cs.washington.edu with no subject and "subscribe" in the body. To send a message to everyone on the list, send mail to cse341@cs.washington.edu. (Don't sent subscription lists to this address though, or you're sending your request to everyone in the class!)

Assignments and Grading

There will be one or more small assignments and a major programming assignment for each language, as well as some written homework. There will be a midterm covering Smalltalk, Java, and Miranda, and a comprehensive final at the end of the quarter.

Here is the grading structure (possibly subject to modification):

homework 50%
midterm 20%
final 30%

Individual grades may vary slightly, based on effort, contribution to class and section, etc. This grading structure is subject to change.

Late Assignments and Incompletes

Assignments are due in quiz sections. If you write answers out by hand, please make sure it's legible. Write your name and quiz section time on the assignment. Late assignments will be marked down as follows:

25% off -- up to 1 day late
50% off -- up to 2 days late
75% off -- up to 3 days late

"25% off" means that 25% of the maximum possible score is taken off of the score for the late assignment. "Up to 1 day late" means up to the time of your quiz section on the day following the day the assignment was due, and so forth. For example, if the assignment is due on a Thursday, "up to one day late" means until 9:20 am on Friday, "up to 2 days late" means until 9:20 am on Saturday, and "up to 3 days late" means until 9:20 am on Sunday (if you're in the 8:30 section). Send e-mail to the TA du jour if you want to turn in a homework late to arrange to get it to him. (Sorry to sound so picky about this -- but I've had problems with very creative interpretations of the rules in the past.)

Incompletes are never given never simply because assignments were not completed on time.