Date: Mon, 02 Dec 1996 14:34:07 GMT Server: NCSA/1.4.2 Content-type: text/html CSE 341 Overview

CSE 341 Administrivia & Useful Information

Instructor: Nancy Leveson
Office: Sieg 219
e-mail: leveson@cs
phone: 685-1934
Office Hours: Wednesday 3-5 (or by appointment)

Teaching Assistant: E Christopher Lewis
e-mail: echris@cs
Office Hours: Monday 12:30-1:20 and (temporarily) Wednesday 9:30-10:20 in Sieg 326D


Class Meetings

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

Quiz AA, TTh 8:30-9:20 Lowe 222
Quiz AB, TTH 9:30-10:20 MEB 243


Handouts, overheads, etc.

Programming Resources


Programming Assignments


Written Assignments

Programming Language Research Paper

Description

This is a course in the design of programming languages. It will teach you about programming languages rather than teach you how to program in several languages. We will do some programming, but primarily to give you some experience in programming with very different paradigms than most of you have used before. By the end of the course, you should know enough about programming languages in general that you will be able to pick up new languages easily, be able to evaluate alternative languages and select the most appropriate one to use, and use most languages more effectively. You might note that 341 this quarter will be taught somewhat differently than it has in the past. If you prefer the other style (see the past course descriptions on the web), you should consider taking it instead in the winter or spring.

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

Text

This book is brand new so you won't be able to get used copies. The upside is that it is very up to date.

Use of World Wide Web

We will make frequent use of the World Wide Web to post information, homework assignments, 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. 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 "Education (webs)" then "CSE 341".

Computing Resources

We will use the new PC lab in Sieg 232 for Lisp and (probably) Visual Basic, 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 hilbert.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

You will have a variety of types of assignments. There will be written assignments on the lectures and textbook and small programming assignments on the languages taught in the quiz sections. There will also be a short paper on another language (described below) that you will present to the class. In addition, there will be two midterms and a final exam. The grades will be calculated as follows:

40% midterms (20% each)
25% final
15% written and programming assignments
20% short paper

Individual grades may vary slightly, based on effort, contribution to class and section, etc.

Although I am not making it a requirement, I strongly suggest that you create a glossary of terms to help you study and prepare for the exams. The terms and concepts you should include are those that are italicized throughout the book. The exams will ask you to define, compare and contrast, and use or apply concepts in order to ensure you understand them.

You will also be required to come in to talk to me for 15 minutes some time during the quarter, either during my office hours or by arrangement at a different time. I recommend that you do this early in the quarter because it's harder to schedule a time at the end. This meeting is simply to allow us to get to know each other better and for me to get feedback on how the class is going.

Late Assignments and Incompletes

Assignments are due in quiz sections or in lectures, depending on who assigns it. If you write answers out by hand, please make sure it's legible. Write your name and quiz section time on the assignment. Late written assignments will not be accepted as the answers will be discussed in the lecture or quiz section. Late programming 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. Given that each assignment will not count a lot toward your grade, it may be better just to turn in what you have at the time it is due.

Short Paper

Teams of two people will each take a language and (1) summarize it according to its basic features (as been done for the languages in Section 2 of the textbook, i.e., History, Hello World, Brief Overview, Data Objects, Sequence Control, Subprograms and Storage Management, and Abstraction and Encapsulation) and (2) evaluate it with respect to criteria that I will describe in class. Each group will write a paper on a different language. For the last two weeks of the quarter, we will have class presentations of what you have written. Although the written version of your paper will be due on the last class meeting of the quarter, you will need to have the material collected and organized by December 2 in order to give your class presentation.

Lecture, Quiz Section, and Reading Schedule

The lecture schedule is only approximate, but this is close. In the quiz sections you will learn enough about several languages to write simple programs in them and also will review the material in Part 2 of the book (Chapters 10-14). We will provide more information about the quiz section schedule and assignments at the beginning of class.