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.
- Last minute questions (those sent the night before homework is due) may not be answered before class, so be sure to
send in questions early!
- If you send course-related mail directly to a TA, the mail will
be forwarded to
cs242@cs
, which may introduce a delay.
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 |
5 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 |
|
|