Course: CS1
Prerequisites: none
Instructor: Mike Vanier
Lecture: MW 2-3pm, Gates 22
Recitation Instructors: Joseph Schaeffer and Donnie Pinkston
| Time | Place | Instructor |
| Thurs 3-4 PM | Jorgensen 74 | Joseph Schaeffer |
| Thurs 8-9 PM | Jorgensen 74 | Donnie Pinkston |
| Friday 1-2 PM | Jorgensen 74 | Joseph Schaeffer |
| Friday 2-3 PM | Steele 114 | Donnie Pinkston |
| Friday 2-3 PM | Spalding (Laboratory) 102 | Joseph Schaeffer |
| Friday 3-4 PM (*) | Jorgensen 287 | Donnie Pinkston |
(*) Beginning October 19th
Text: Structure and Interpretation of Computer Programs, Abelson and Sussman (2nd edition)
URL: http://www.cs.caltech.edu/~cs1
The course will include:
CS1 is a Pass/Fail course. In order to pass this class, you must earn a total of 40 points on the labs, daily quizzes, and exams. Your opportunity for points are as follows:
| What | Maximum Points Each | Number | Total Points Possible |
| Daily Quiz | 0.5 | 20 | 10 |
| Homeworks | 3 | 9 | 27 |
| Midterm | 6 | 1 | 6 |
| Final | 18 | 1 | 18 |
| All | 61 | ||
N.B. 40 points or more is a passing score. Please note that rework allows you to get feedback on your homework assignments and bring them up to 2's and 3's.
The grading scale used on the labs and exams in the course will be from 0 to 3:
| 0 | incorrect (worthy of no credit) |
| 1 | insufficient (not passing quality, demonstrates significant bugs which must be addressed) |
| 2 | good (demonstrates mastery of key idea, may have a few minor errors) |
| 3 | excellent (masters all important parts) |
Where rework is allowed, we recommend you achieve at least a 2 on every problem in order to assure adequate mastery of the material.
Lecture slides will be posted on the web. They will always be up shortly after lecture; we will try to have lecture notes up by 10 or 11 AM the morning of class.
You are expected to keep on top of the reading in Structure and Interpretation of Computer Programs as the course progresses. Some issues will not be covered in as much detail in the lectures as they are in the book but will, nonetheless, be essential for working the assignments.
There is a lab assignment for every week of the term. Labs will be made available on Monday of the week the material is covered (starting with the first day of class), and will be due the following Wednesday. Labs will include both "written" assignments that ask you to reason about the behavior of programs and programming assignments.
Late Policy: Assignments are due at 2:00 AM Thursday morning. You lose 0.5 points for every day it is late.
Assignment Grading: All assignments will be graded on the 0 to 3 scale (nteger marks only). The grade for a complete homework assignment will be the minimum grade assigned to any of the parts of the assignment.
Rework: You may rework any portions of your assignment which achieved a mark below a 3 within 10 days of the assignment's original due date (or the last day of instruction for the final assignments); the final grade on the assignment is based on the final rework grades. Rework will not recover any points lost for lateness. You are better off turning in a wrong assignment on time and improving it within the time frame than turning an assignment in late, however: CS 1 employs a "spirit-of-the-game" policy with respect to rework. Intentionally turning in non-effort to leverage "rework" into "extension" will result in loss of rework privilege for that assignment.
Assignment Submission: All work must be turned in electronically using the CS1man submission program. Writeups for both conceptual and code exercises must be written up in plain (ASCII) text and submitted electronically (additionally, PostScript figures will be appropriate for a few exercises). Code examples must be compatible with the Scheme implementation provided for CS1 (DrScheme).
All work you submit must be your own, original, individual work. You may discuss problems and course material with other students, but you must work the entire assignment on your own. You may not look at other people's solutions or code. You may help a friend debug problems, but may not provide the solution directly to anyone.
The midterm and final exam will be closed book and closed interpreter. We will ask you to use a computer to type up your answers, but you cannot use any interpreter or compiler during the exam. You will be expected to reason about the behavior of code and design and write code and data structures. Mastery of the concepts on the assignments should prepare you for the midterm and final, as long as you learn to reason about problems.
Each lecture you will get a short quiz on the recent material (e.g. material from the previous lecture or from the text). These should take only a few minutes to complete and are due at the end of the lecture.
The course computers are in Jorgensen 154. To enter Jorgensen outside of business hours, you will need cardkey access to Jorgensen. When you sign up for your CS account (see below), the CS sysadmins will forward your UID along so you will get card access to Jorgensen.
To register for an account on the CS cluster, please go fill out the
online form: http://www.cs.caltech.edu/cgi-bin/sysadmin/account_request.cgi.
If you have not already done so, please do this immediately as it will
take some time to process and you will need your account for the first
assignment. We will assume you know how to use a web browser and can gain
access to one to sign up. In addition, the undergraduate houses have
computer clusters and ITS has a computer cluster on the second floor of
Steele.
The course web site is: http://www.cs.caltech.edu/courses/cs1.
All of your assignments will be made available on the web site, as will all
course information and handouts. You will need to go to that page and
retrieve the assignment. We recommend you do this immediately following the
first lecture.
The lab will be staffed with TAs from afternoon to evening 4 days a week (Sunday through Wednesday). You are encouraged to make use of the lab TAs if you run into difficulties on your assignment. Exact hours for lab staffing will be posted.
Each week, there is a one-hour recitation where you can ask questions and where the instructor will go over the new concepts and work out examples. There are six recitation sections available. We encourage you to select amongst the available recitation times as you see fit. Attendance will not be taken, but please arrive on time.
You will be assigned two 2-hour slots in the Lab with your TA. You are required to attend the first hour of the first slot of each week. Your TA will go over important, finer points of the assignments during this time. While your original, assigned TA will grade your work throughout the term, you should feel free to attend any other section that you find convenient or valuable as well. Attendance will not be taken and you are permitted to "float" amongst sections, with the knowledge that your TA will be grading your solutions.
Copyright (C) 2007, California Institute of Technology.