CSE 341 Administrivia & Useful Information

The Team:

Class Meetings

Lectures: MWF 12:30-1:20, MGH 231
Quiz AA: TH 8:30-9:20 (yawn), MGH 242
Quiz AB: TH 9:30-10:20 EE1 045


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

Recommended Texts

Buying all four of these is going to set you back some cash. However, none of these books are required -- they are all just recommended. They are all on 4 hour reserve in the Engineering Library, so you can read them there instead. There are also some related books on reserve. Complete list of 341 books on reserve.

There are also copies of the Thompson and Budd books in the ACM library in Sieg 326. (We'll see if we can find copies of the remaining ones as well.) Finally, these books have all been used in the past at one time or another, and you may be able to get used copies from former 341 students.

Here are some idiosyncratic suggestions regarding which books to buy, if you only want to buy some of them.  (Your tastes in this may well differ.)

Important Dates

Class will not meet on May 27 (Memorial Day). The final exam will be given on Thursday, June 13, 8:30am - 10:20am.


There will be one warmup and one larger program per language.  There will also be a course project, which should be done by a group of 2-4 students, in either Java or Smalltalk.  There will also be some small written homework assignments.  There will be two exams: a midterm and a final. 


Your final grade will be based on homework (40%), the project (20%), midterm (15%) and final (25%). Individual grades may vary slightly, based on effort, contribution to class and section, etc.

Late Assignments and Incompletes

Assignments are due at the beginning of lecture, usually on a Monday. We will try to get assignments back in the quiz section on Thursday of that same week. If you write answers out by hand, please make sure they are legible. Write your name, quiz section, and the name(s) of your collaborators (see below) on each assignment. The late policy is as follows: each student is granted two late days to use at his/her discretion during the quarter. A late day is defined as the period of time until the beginning of the next lecture or quiz section. For example, if an assignment is due Monday, turning in the assignment anytime up to the beginning of Wednesday's lecture constitutes the use of one late day. Turning it in anytime up to the start of your Thursday quiz section constitutes the use of two late days. (So you're better off using just one late day and getting it done by Wednesday, and saving the other late day for a different assignment.) Barring exceptional circumstances, you must hand in each assignment before that assignment is discussed and handed back in quiz section.

Please use your late days wisely. Again barring exceptional circumstances, extra late days, other extensions, or incompletes will not be granted.

Collaboration/Cheating Policy

Students in this course are encouraged to work together. However, there are a few groundrules everyone must follow. Failure to understand and follow these rules will constitute cheating, and will be dealt with as per university guidelines.
  1. The Gilligan's Island Rule: This rule says that you are free to meet with fellow students(s) and discuss the assignment with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you should not take any written (electronic or otherwise) record away from the meeting. After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.
  2. The Freedom of Information Rule: To assure that all collaboration is on the level, you must always write the name(s) of your collaborators on your assignment.