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
Objective
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
Texts
- Ravi Sethi, Programming Languages: Concepts & Constructs
(required)
- Patrick Winston, On To Smalltalk (recommended)
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.