Position | Name | Phone | Office Hour Location | Office Hours | |
---|---|---|---|---|---|
Professor | Kathi Fisler | kfisler | 508-831-5118 | Fuller 130 | Monday: 3-4:30pm Thursday 9:30-11:00am and by appointment (schedule) |
TA | Ethan Croteau | ecroteau@wpi | HL 230 | Thursday 6-9pm | |
TA | Brad Momberger | bmombe1@wpi | HL 230 | Tuesday 3-6pm | |
SA | Natasha Bogdanova | natasha@wpi | HL 230 | Wednesday 6-8pm Thursday 9-11pm | |
SA | Sean Doherty | sdoherty@wpi | Campus Center Computer Lab (2nd floor, near SocComm) | Wednesday 1-4pm |
Direct all course-related discussion to the discussion board in the MyWPI area for this course.
You are responsible for all announcements made to the discussion board (such as clarification to homework problems). Check it daily.
You do not need to purchase a textbook for the course. We will use a combination of on-line materials and posted lecture notes instead. In particular:
For the functional programming portion of the course (first half), we will follow the first third of How to Design Programs. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. MIT Press, 2001. (available on-line; a copy is also on reserve in the library). Visit your favorite on-line bookstore if you wish to purchase a copy.
The on-line book How to Use Scheme contains sections on I/O, modules, networking, and other useful features of MzScheme. You should not need this material unless an assignment explicitly says so! I include this link as a resource because many students have enjoyed experimenting with Scheme beyond the scope of the assignments.
For the languages portion of the course (second half), I will post lecture notes for most of the lectures on the syllabus page. Most of these pages include sections for frequently asked questions (FAQ) on the material. If you want a question answered in the FAQ, let me know (either my mail or on the dicussion board).
You do not need a Scheme language manual for this course. We will cover all of the constructs you need in class.
We will use the PLT Scheme variant of Scheme for all coding projects in the course. You must use the PLT variant of Scheme. No other Scheme implementation provides the libraries that we will use in this course.
You can use PLT Scheme with your favorite editor, or you can use the DrScheme programming environment, which sits on top of a program called MzScheme and provides several nice features, such as source correlation of errors and a project manager. Both DrScheme and MzScheme are installed on CCC (/usr/local/plt/bin/mzscheme and /usr/local/plt/bin/drscheme). Alternatively, you can download either package (for free) to your own computer (Unix, PC, Mac all supported, with files portable between them). Note that installing DrScheme also installs MzScheme.
Instructions for using the images package with DrScheme
Most homework assignments will be done in pairs. Students will work in the same pairs throughout the entire term. You may form your own pairs at the start of the term. The course staff will pair up students who do not express preferences.
We use pairs because experience shows that people learn through explaining ideas and solutions to others. Both students in each pair should do each assignment, then compare solutions and choose one to turn in for grading. It is very important that you work through each assignment on your own because you will not pass the course if you do not pass the portions of the course that are graded individually! (see the grading policies). Students who rely on their partners to complete the assignments may not understand the material well enough to pass the exams.
There will be seven homework assignments, a small project, and two exams. Assignments will be posted on the assignments page as they become available (roughly one per week). Assignments will be due on Thursdays at 11:59pm. Late assignments will not be accepted.
Course grades will be computed according to the following rules:
You must take both exams and earn a passing average on the exams and project (combined) in order to pass the course. I will compute this average using the same relative weights as for computing final grades (see next bullet).
If you have completed and earned a passing average on the exams and project, your final grade will be based on the following weights:
Make-up exams will only be allowed in the event of a documented emergency. The two exam dates are listed on the syllabus. You are responsible for avoiding conflicts with the exams. Do not plan to leave campus for the term before the final exam.
Late assignments will not be accepted without prior consent of the professor (the TAs are not allowed to grant extensions). Extensions will be granted only in the event of unforseen and documentable emergencies, or extenuating circumstances that you discuss with the professor well in advance. One pair member forgetting to turn in an assignment will not be considered an acceptable excuse for an extension.
Collaboration is prohibited on exams or the project. Collaboration is encouraged on homework assignments and labs. You may discuss problems across pairs, but each pair is responsible for writing up their own solution from scratch.
Violations of the collaboration policy on any assignment or exam will result in an NR for the course and a referral to the Student Life Office, in accordance with WPI's academic honesty policy. Exceptions to this rule are possible only if you admit your violation to the professor or one of the current TAs before we detect the violation (this gives you a chance to pass the course if, for example, you cheated in desparation the night an assignment was due, then felt guilty about it in the morning). If we detect the violation before you admit to it, no exception to the NR policy will occur. Egregious violations (such as breaking into another student's account to copy a solution) may still earn an NR even if you admit to them. You can safely assume that we will not begin grading an assignment before noon on the calendar day after the assignment is due.
As examples, each of the following scenarios would constitute cheating (this list is not exhaustive!):
In constrast, the following scenarios would not constitute cheating:
If you are unsure whether an activity would constitute cheating, ask the professor.
Students requiring accommodation on exams or assignments due to disabilities must speak with the professor at the start of the term (and at least two weeks before the assignment due date or exam in question) to work out appropriate arrangements.
This page maintained by Kathi Fisler Department of Computer Science Worcester Polytechnic Institute |