Follow the link to add your name to the course mailing list. We'll use it to post announcements, and students in the class are welcome to use it for discussion about the topics as well.
Lecture: MWF 12:30-1:20, MGH
231
Section AA: Th 8:30-9:20, EE1
042
Section AB: Th 9:30-10:20, EE1
042
Some assignments will include "extra credit" sections. These will enrich your understanding of the material, but deliberately will provide scant credit in proportion to the work required. Do them for the glory, not the points, and don't even think about starting the extra credit portion until the main problems are complete.
There will be a midterm and a (comprehensive) final exam, both open book and notes. The midterm will be in class Wednesday Nov 2. The final will be Thursday Dec 15, 8:30-10:20am, in the usual classroom. If you are ill or there is some other major emergency, contact the instructor by email or phone before the midterm or final. You can leave a voicemail message.
Optional review session for final exam: Dec 14, 3:30pm, Allen Center 303.
If you want to take a practice exam, exams and solutions for previous quarters are posted on the web pages for those offerings.
Electronic turnins will be due at 10pm on the due date. If we have any written (paper) assignments, these will be due at the beginning of your quiz section. Baring major emergencies, these deadlines are strict. Electronic turnins will be disabled at 10pm, promptly. However, you have 3 "late days" to use, total, spread over all assignments. (In 24-hour chunks, i.e., a turnin at 10:01PM uses 1 of your 3 days. I'd suggest you hoard them in case you really get stuck late in the quarter. After the normal electronic turnin shuts off, email your late solution to instructor; cc the TAs.)
Homeworks are all individual, not group, exercises. Discussing the course material, including homework problems, is fine, but you must produce your own homework solutions. I expect you to follow the "Gilligan's Island Rule": if you discuss the assignment with someone else, don't keep any notes (paper or electronic) from the discussion, then go watch 30+ minutes of mind-numbing TV (Gilligan's Island reruns especially recommended) before you continue work on the homework by yourself. If in any doubt about whether your activities cross allowable boundaries, tell us before, not after, you turn in your assignment. I hope there will be no cheating cases in the class - however, if cheating is found, it will be turned over to the University Committee on Academic Conduct.
Instructor: Alan
Borning
TA: Jonah Cohen
TA: Chester Chan
Alan Borning: Tues Fri 2:30-3:20 or by appointment (Allen Center 644)
Jonah Cohen: Wed 3:00-3:50 (Allen Center 220)
Chester Chan: Mon 1:30-2:20 Thurs 3:30-4:20 (Allen Center 002)
"Required": Jeffrey D. Ullman.
Elements of ML
Programming, ML'97 Edition. 1998.
Assuming you do not want to
suffer from bugs in the textbook, check the errata page.
Approximately: Chapters 2, 3.1-3.4, 5.1-5.5 (skip 5.2.5, 5.3.4,
5.4.4), 6.1-6.2, 7.1, 8.2, 8.5.5 overlap with the course material.
"Recommended": Mark Guzdial. Squeak:
Object-Oriented Design with Multimedia Applications. 2001.
As with the above, check the
errata page.
Approximately: Chapters 2, 3.1, and 3.2 overlap with the course material.
SML resources:
www.smlnj.org
tutorials, books,
and documentation
user's guide
Scheme resources:
R5RS (the standard)
Programming Languages: Application and Interpretation
How to Design Programs (with links to
the DrScheme web page)
Structure and Interpretation of
Computer Programs
Smalltalk resources:
www.squeak.org
www.smalltalk.org
Keyboard
shortcuts reference
Keunwoo Lee's Getting started in Squeak slides
John
Maloney's Bank Account tutorial (another good place to start)
Common
341 Squeak Overview
Jim
Sawyer's "Reading Smalltalk"
The IBM Smalltalk Tutorial
Getting started with UNIX and emacs
Guidelines for using ML in emacs
The CSE undergraduate labs have all the software you need for the course. If you would like to install any of the languages on your own computer these links may help you:
emacs for Windows
SML NJ (the instructional machines have version
110.54, but other recent versions should be ok)
DrScheme
Squeak