CS 242. Autumn 2002. Handout 1

September 26, 2002

 

 

CS 242. Programming Languages

Tues and Thurs, 1:15-2:30,  Gates B-01

 

General Course Information

Instructor: John Mitchell, Gates 476 

Secretary: Lynda Harris, Gates 495 

Teaching Assistants: Seth Hallem, Tim Purcell, Rajat Raina, Nafis Upshur

Office Hours

Day

Time

Teaching Assistant

Room

Sunday

5-6 PM

Rajat Raina

Gates B24A

Monday

9-11 AM

Tim Purcell

Gates 398

Monday

7-9 PM

Nafis Upshur

Gates B24A

Tuesday

2:30-4:30 PM

Seth Hallem

Gates 498

 

 

 

 

Review session

Thursday 7:00-8:00 in room 380-380X, starting October 3. The review session is an optional question-answer period held once a week. It is not required and, unfortunately, will not be broadcast. 

Electronic information sources

Announcements, copies of homework assignments and other information may be found at the course web site, http://www.Stanford.EDU/class/cs242/ . The class newsgroup, su.class.cs242, may be used to discuss course topics with other students.

Email Policy

Questions about lectures, homework and course organization may be sent to the course email address, [email protected] . The course staff will read this mailbox on a regular schedule. Due to the size of this class, we cannot guarantee an immediate response. Email will be read once a day and it may take up to 24 hours for us to respond. When a number of questions are similar, a single response may be placed on the website. If a point is more easily explained in person, we may suggest that you come to office hours. 

Prerequisites

The prerequisites for the course, as listed in the catalog, are CS 107, or similar experience with Lisp, C and Smalltalk, or similar languages. This is not a course on how to write simple programs in different languages. You should be familiar enough with one functional language such as Lisp, Scheme or ML, one procedural language such as C or Pascal, and one object-oriented language such as Smalltalk or C++, to be able to compare different languages. About 60% of the class will have taken a course on compilers.

Text

A printed textbook is on order from Cambridge University Press. Reading material will be handed out in class or put on the web until the textbook arrives. If the textbook is delayed beyond mid-October, a course reader will be printed.

Programming

You may find it useful to have access to an ML compiler, a C++ compiler, and a Java programming environment. The Standard ML of New Jersey compiler is available by anonymous ftp without charge; it runs on campus machines and most major platforms. (The course web page has specifics.) There will not be any homework assignments that require you to run a program and turn in the results.

Course Work and Exams

There will be weekly homework assignments, a midterm exam, and a final exam. These will count approximately 35%, 30% and 35% of the final grade, respectively. Homework will be assigned each Tuesday and due the following Tuesday. Late homework will be accepted only by prior arrangement. Homework is due in class and may be turned in up to 5PM on Tuesday. Homework may be emailed to [email protected], in plain ascii or postscript/pdf that prints.

 

The midterm is  Thursday, November 7, 7-9 PM

The final exam is 3:30-6:30 PM on Thursday, December 12

If you have a conflict with either exam, you must let us know before the end of the second week of class.

Handout Hangout

Handouts and graded homework sets that are not picked up during class may be found in the file cabinet at the entrance to the fourth floor B wing of the Gates Building.

TV students and Exams

Local students must come to campus for the midterm and final exam.

Collaboration Policy Statement

Under the Honor Code at Stanford, each of you is expected to submit your own work in this course. On many occasions, it is useful to ask others (a TA, the instructor, or other students) for hints and debugging help, or to talk generally about problem-solving strategies and presentation. Such activity is both acceptable and encouraged, but you must indicate on your assignments any assistance you received. Any assistance received that is not given proper citation may be considered a violation of the Honor Code. In any event, you are responsible for understanding and being able to explain all of the statements in your homework and exam solutions.

Participation in Televised Courses

This course is being televised and taped as part of the Stanford Center for Professional Development, and may be viewed by other class participants or in other educational settings. As such, there may be times that you will briefly appear on camera, or that your comments will be incorporated into the audio. If you do not wish to appear on camera, please discuss this with Mike Rouan at SCPD (725-3005; na.mxr@forsythe) before the second class session; otherwise it will be understood that you have given your consent to appear on camera.

Calendar

The order and duration of topics are subject to change. We will keep the online calendar up to date if there are changes.

September 2002
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
     
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 First Class
Intro, Halting Problem
27 28
29 30
October 2002
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
    1
Lisp
2 3
Foundations
4 5
6 7 8
Foundations
9 10
ML Overview
11 12
13 14 15
Types,
Polymorphism
16 17
Stacks and
Scope
18 19
20 21 22
Stacks and
Scope
23 24
Exceptions
25 26
27 28 29
Continuations
30 31
Modularity
 
November 2002
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
      1 2
3 4 5
Objects
6 7 MIDTERM
7-9pm
8 9
10 11 12
Simula
13 14
Smalltalk
15 16
17 18 19
C++
20 21
C++,Java
22 23
24 25 26
Java
27 28
NO CLASS
29 30  
December 2002
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 2 3
Concurrency
4 Last Class
Review
6 7
8 9 10 11 12 FINAL EXAM
3:30-6:30pm
13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31