[CS logo]

CMSC 11500 - Introduction to Computer Programming
Autumn 2002
Course Description


Description

Principles of computer programming, using Scheme. Abstraction, Modularity. Program coding and analysis.

Goals

Instructional Staff

Instructor Teaching Assistant Teaching Assistant Teaching Assistant
Name Gina Levow Leandro Cortes Yu Hu Dinoj Surendran
Email levow@cs.uchicago.edu leandro@cs.uchicago.edu yuhu@cs.uchicago.edu dinoj@cs.uchicago.edu
Office Ry 166 Ry 178 Ry 178 Eckhart 006
Office Hours Wednesday 12:30-1:30 PM Thursday 2-4 Friday 2-4 Wednesday 3-4; Friday 10-11am
Office Phone x2-5680 x2-4227 x2-4227 x2-6614

Course Mechanics

A syllabus that summarizes what we will cover each week and gives a preview of the homework assignments and a reading list showing the reading for each week can be found on the class web page.

The instructors' office hours are for discussing material from class. Students wishing to discuss accommodations for unusual circumstances should also come see me, and should do so at the earliest possible time. Because many homework questions come up over and over, it is usually best to check with the TA before coming by during office hours with a homework question, but we will be happy to discuss the homework with you as well if office hours are the most convenient time to get your question resolved. Homework grades should always be discussed with the TA first, but your instructor will be happy to discuss them with you after you have done that if your concern is not resolved. We will hold scheduled office hours as noted above, but I will also be happy to meet with students that don't find that time convenient either after class or by appointment. Electronic mail is the best way to reach us to set up an appointment, and it is also a good way to get a quick answer to a simple question.

Course Materials

The class web site at http://classes.cs.uchicago.edu/classes/archive/2002/fall/cs11500/ contains the most recent copies of all material produced for this course. This course description (which contains a number of useful links), the syllabus, lecture notes and homework solutions can be found there.

The required text is Abelson and Sussman's Structure and Interpretation of Computer Programs, 2nd edition, available from the university bookstore. It is also available on-line at http://www-mitpress.mit.edu/sicp

A good supplementary text is How to Design Programs by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi, available from the bookstore and also on-line at www.htdp.org

Grading

Course grades will be assigned based on homework, two in-class midterm examinations, and the cumulative final examination. Scores on each component will be combined to produce a single overall score for each student as follows:
Component Percentage Computation
Final 40% 40%
2 Midterm Exams 50% 25% each
Homework 10% ~1% each
Scores for each course examinations will be assigned on a 100 point scale. Homework will be graded on a check/check-plus/check-minus scale. Homework that is not turned in will receive a 0. Overall course grades will be assigned using a relative grading method in which the overall scores for all students will be used to produce a histogram and then breakpoints will be selected between the letter grades. The breakpoints are not predetermined, and will not be selected until after the histogram is prepared. Approximately one third of the students have earned some type of A and a small number of students have received grades below C.

Homework is due before the start of class. Credit for partial work will be given. No late assignments will be accepted. The homework is intended to reinforce concepts discussed in class, and all material included in the homework is testable, so skipping an assignment is a bad idea.

In general, the TAs will grade the homeworks under the supervision of the faculty. If you have a question about a homework grade, you should contact the TAs first, but you may appeal to the faculty. Open-ended questions on the exams will be graded jointly by the faculty and TAs.

Students may work together on the assignments, but all of the material which is turned in for grading must be produced individually. For example, students may form study groups and work out solutions together on a chalkboard, but it would not be permissible for one student to create a computer file containing the answers and then for other students to copy that file and submit it as their own work. The goal of this policy is to encourage the use of homework as a learning aid. Credit MUST be given for help on the homework by identifying one's collaborators on the first page of the submitted homework assignment.