|Position||Name||Phone||Office Hour |
|Professor||Kathi Fisler||kfisler||508-831-5118||Fuller 130||Tuesday 2-4, Friday 2-4 and by appointment (schedule)|
|Professor||Michael Gennert||michaelg||508-831-5670||Fuller 234||Monday 11-noon, Thursday 4:30-5:30 and by appointment (schedule)|
|SA||Paul Freitas||pfreitas@wpi||FL A22||Monday 2-4, Thursday 2-3|
|SA||Abraao Lourenco||aln@wpi||ADP Lab, FL B16||Monday 6-7, Thursday 6-8|
|SA||Andrei Paduroiu||andreip@wpi||ADP Lab, FL B16||Wednesday 5-7, Thursday 3-5|
|TA||Paul Ruggieri||paulr@wpi||ADP Lab, FL B16||Weds 6-8, Thursday 9pm-10pm|
In addition to the course staff, the academic advising office has tutors available for CS 1102. Andrey Sklyar has tutoring hours 12-1 Mon, Tues, Wed, Thurs in the academic study center in Daniels Hall.
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 11 lectures), 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). The WPI bookstore has some copies (under CS 1101) or visit your favorite on-line bookstore if you wish to purchase a hard 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! We include this link as a resource because many students have enjoyed experimenting with Scheme beyond the scope of the assignments.
For the language design portion of the course, we will post 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 us know (either by email 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 version 209 of the PLT Scheme variant of Scheme for all coding projects in the course. You must use the PLT variant of Scheme, version 209 or higher. 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 (you will need to use DrScheme for those assignments that involve images). Both DrScheme and MzScheme are installed on CCC (/usr/local/bin/mzscheme and /usr/local/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.
If you install DrScheme at home and want version 209, say no when the installation asks if you want to check for a newer version. 209 is the most recent stable version (299 is the current alpha version). We will test all lab and assignment materials against version 209.
If your computer uses Windows XP Home (as opposed to XP Professional), you MUST use version 209. The higher version may save files in a format that is incompatible with the software you will use to submit homework.
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. You and your partner should either work the assignment together or work the problems individually then compare solutions and choose one to turn in for grading. Don't simply divide the problems between you! Each problem practices a different skill and you will need to be able to do all of the problems to pass the exams. You must pass the individually-graded assessments in order to pass the course (see the following grading policy). 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 (full policy below).
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. We 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. Students requiring accommodation for the final due to Yom Kippur should speak to a professor to make alternate arrangements.
Late assignments will not be accepted without prior consent of a 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 a 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 and 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 a professor 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 a professor.
Students requiring accommodation on exams or assignments due to disabilities must speak with a professor at the start of the term (and at least one week before the assignment due date or exam in question) to work out appropriate arrangements. Such arrangements require documentation from the Disability Services Office (DSO). Students with disabilities who believe that they may need accommodations in this class should contact the DSO (Daniels Hall, (508) 831-5235) to initiate the necessary paperwork.
Students requiring accommodation for religious observance must make alternate arrangements with a professor at least a week before the date in question.
This page maintained by Kathi Fisler
Department of Computer Science Worcester Polytechnic Institute