CSE 341 Administrivia & Useful Information

Instructor: Alan Borning
Office: Sieg 409
e-mail: borning@cs
phone: 543-6678
Office Hours: Mon Wed 2:40-3:20

Teaching Assistant: Andy Montgomery e-mail: montgmry@cs
Office Hours: Mon Wed 3:30 - 4:30 (in one of the cubbies on the fourth floor)


Class Meetings

Lectures, MWF 1:30-2:20, EEB 108

Quiz AA, TTh 8:30-9:20 (yawn), Sieg 323
Quiz AB, TTH 9:30-10:20 Sieg 134

Objective

Our objective is to learn fundamental programming language concepts. We approach this by acquiring practical experience with a set of three quite different programming languages -- Lisp, Smalltalk-80, and Prolog. Following the study of the three languages, we'll finish up by a comparative discussion of programming language concepts in these and other languages. We will spend about 2 1/2 weeks per topic.

Prerequisite: CSE 143 (either the C++ or the Ada version)

Texts

These books have all been used in the past, and you may be able to get used copies from former 341 students. (Naturally we would like to think that these books will become treasured volumes in your permanent library, but tastes differ ...)

Use of World Wide Web

We will make frequent use of the World Wide Web to post information, sample solutions to homework, and so forth. Lecture notes for the different topics will be distributed in hardcopy form, but will also be stored in the class web. (If there are corrections, these will be made in the online version.) Other material may be distributed in electronic form only. This document is stored under "Course Syllabus" in the web. The home page for 341 is http://www.cs.washington.edu/education/courses/341. You can also reach this page from the CSE departmental home page via "Educational Programs", then "Course Webs", then "CSE 341".

Computing Resources

We will use the new PC lab in Sieg 232 for Lisp and Smalltalk, and the MSCC machines for Prolog. You can also run Lisp on the MSCC machines (do this if you want to work from home; otherwise the PC implementation should be much faster). Information regarding how to use the PC's will be given out in quiz sections. For the MSCC machines, it will probably be most convenient to access these from the CSE terminals over the network using rlogin or telnet to mscc.ms.washington.edu. Alternatively, you can use the X terminals in room 9 of Thompson Hall.

In addition to putting information in the web, for urgent mail we will sometimes send e-mail directly to the class mailing list -- so please check your e-mail regularly on the departmental instructional machines, or set up a .forward file to forward your mail to another machine.

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 Lisp and a Smalltalk quiz, and a comprehensive final at the end of the quarter.

Here is the grading structure:

homework 50%
quizzes 20% (10% each)
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 the 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 2:20 pm on Friday, "up to 2 days late" means until 2:20 pm on Saturday, and "up to 3 days late" means until 2:20 pm on Sunday. Send e-mail to Andy 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.