15100-1 MWF 9:30-10:20 Ryerson 276 Reppy 15100-2 MWF 11:30-12:20 Ryerson 251 Mulmuley
Labs are held in the Mac Lab on the A-level of Regenstein Library (JRL A01C) according to the following schedule:
All students are required to attend a lab; you should contact Margaret Jaffey to sign up for a lab session.
CC W 3:00-4:20 DD W 4:30-5:50 FF R 3:00-4:20 GG R 4:30-5:50
Name Office Office hours John Reppy Ryerson 256 WR 10:30-11:00 and by appointment Ketan Mulmuley Ryerson 165B M 12:30-1:30 and by appointment Gohar Margaryan Mac Lab T 1:00-4:00 Sravana Reddy Ryerson 258B By appointment Gabriela Turcu Searle 255A By appointment Henry Wu Mac Lab F 1:00-4:00 Mailing List
Please sign up for the course mailing list athttps://mailman.cs.uchicago.edu/mailman/listinfo/cmsc15100Assignments
Grading
Grades will be determined roughly as follows:Graded assignments are available from
Homework 15% Labs 20% Midterm 20% Projects 45% https://fafner.cs.uchicago.edu:8080/You will need to use your handin login and password to access this page. Clicking on the links will download the given file to your browser's download's directory.Midterm
There will be a midterm given in class on November 4th. It will cover material up through Chapter 17 in the book.Homework
- Homework 1; due Wednesday October 7 at 3pm
- Homework 2; due Wednesday October 14 at 3pm
- Homework 3; due Wednesday October 21 at 3pm
- Homework 4; due Wednesday October 28 at 3pm
- Homework 5; due Wednesday December 2 at 3pm
Lab assignments
- Lab 1; due Friday October 2 at 10pm
- Lab 2; due Friday October 9 at 10pm
- Lab 3; due Friday October 16 at 10pm
- Lab 4; due Friday October 23 at 10pm
- Lab 5; due Friday October 30 at 10pm
Projects
There will be three week-long programming projects at the end the quarter. Each project will be graded on a scale of 15 points.
- Project 1; due Monday November 16 at 10pm
- Project 2; due Monday November 23 at 10pm
- Project 3; due Wednesday December 9 at 10pm
Resources
A version of the text book How to Design Programs can be found online.
We use DrScheme as the programming environment. This software is installed on both the Mac and Linux machines in the Mac Lab. It is also available free of charge from the PLT Scheme web site.
The DrScheme system includes extensive documentation, which is also available on the web. Here are some items of particular interest to this course:
- DrScheme manual
- Description of the Beginning Student language
- Description of the Beginning Student with List Abbreviations language
- Description of the Intermediate Student language
- Description of the Intermediate Student with Lambda language
- Description of the Advanced Student language
- image.ss teachpak documentation
- world.ss teachpak documentation
To use the Mac Lab Linux machines, you will need a CS department account. You can request an account using a web form.
Homework and lab assigments will be submitted using the DrScheme handin mechanism. You can set up your handin account as follows:
- In DrScheme, choose the File|Install .plt menu item and paste in the following URL:
http://www.classes.cs.uchicago.edu/archive/2009/fall/15100-1/files/uc-cmsc15100.plt- Once the install finishes, restart DrScheme. You should now see a handin button on the tool bar, which looks roughly like
CMSC 15100 Handin![]()
- Use the File|Manage CMSC 15100 Handin Account... menu item to create a submission account.
Once your account is established, you can use the handin button to submit your work.
Academic Honesty
[The following is due to Stuart Kurtz]
The University of Chicago is a scholarly academic community. You need to both understand and internalize the ethics of our community. A good place to start is with the Cadet's Honor Code of the US Military Academy: "A Cadet will not lie, cheat, or steal, or tolerate those who do." It is important to understand that the notion of property that matters most to academics is ideas, and that to pass someone else's ideas off as your own is to lie, cheat, and steal.
The University has a formal policy on Academic Honesty, which is somewhat more verbose than West Point's. Even so, you should read and understand it.
We believe that student interactions are an important and useful means to mastery of the material. We recommend that you discuss the material in this class with other students, and that includes the homework assignments. So what is the boundary between acceptable collaboration and academic misconduct? First, while it is acceptable to discuss homework, it is not acceptable to turn in someone else's work as your own. When the time comes to write down your answer, you should write it down yourself from your own memory. Moreover, you should cite any material discussions, or written sources, e.g.,
Note: I discussed this exercise with Jane Smith.
The University's policy, for its relative length, says less than it should regarding the culpability of those who know of misconduct by others, but do not report it. An all too common case has been where one student has decided to "help" another student by giving them a copy of their assignment, only to have that other student copy it and turn it in. In such cases, we view both students as culpable and pursue disciplinary sanctions against both.
For the student collaborations, it can be a slippery slope that leads from sanctioned collaboration to outright misconduct. But for all the slipperyness, there is a clear line: present only your ideas as yours and attribute all others.
If you have any questions about what is or is not proper academic conduct, please ask your instructors.
Last revised: December 4, 2009.