6.00: Introduction to Computer Science and Programming Fall 2009

Course Information

Lectures: Tuesdays and Thursdays at 11, in room 34-101 (Note that room may change depending on final registration)
Recitations: Fridays at 11, 12, 1, and 2. (Please see Recitation Attendance section below for more details, including rooms). Note that these are the currently planned recitation times. Depending on actual enrollment, we may add one more.
Units: 3-7-2

Pre-requisites

This subject is aimed at students with little or no programming experience.

Goals

This subject has several related goals:

Lecture and Recitation Attendance

A significant portion of the material for this course will presented only in lecture, so students are expected to regularly attend lectures.

Recitations give students a chance to ask questions about the lecture material or the problem set for the given week. Sometimes, new material may be covered in recitation. Recitation attendance is encouraged but not required, though attendance and participation may be taken into account in the case of grades on letter borderlines. Please attend the recitation which you have signed up for, if possible.

Here is the recitation schedule:

TIMETA  ROOM
Fri 11am  Katherine Kuan  32-083
Fri 12pm  Yunus Sasmaz   32-083
Fri 1pm  Eunsuk Kang   32-083
Fri 2pm  Jessica Yuan   32-083

Homeworks and Quizzes

Each problem set will involve programming in Python. Students will make extensive use of libraries, so that it will be possible to write programs that solve real problems. There will be three quizzes: two during the semester, administered in evenings, and one during the final exam time-slot.

When submitting your problem sets to the online workspace, only your final submission (before the deadline) counts.

Collaboration Policy

You may collaborate with anybody you wish in any way you want on the problem sets. You may look at solutions to other years' problem sets. Etc. If you and another 6.00 student choose to solve a problem set together, please submit separate solutions and note which other students are submitting an identical solution. If you collaborate in other ways, please include a note describing that as well.

For some problem sets, we will have individual "oral checkoffs" during which students will be asked to demonstrate an understanding of their code. Some of these may involve making small changes to the code. These will be conducted during recitation periods, and will be announced in advance.

Background on policy:

  1. Our first concern is what the students in the class learn. We assume that everyone in the class is here because they want to learn, and will behave in a manner consistent with that goal and their personal learning style.
  2. Much of the learning in 6.00 takes place while working on the problem sets. Working with other students on problem sets often enhances the learning process. Keep in mind that collaborative learning works best when the students working together have roughly the same level of knowledge and skill so that each participant in the collaboration can contribute more or less equally to solving the problem. When one student is consistently showing another how to do things, it is not a true collaboration. When one student bases their solution on the completed work of another or on a solution from a previous year, little or no learning takes place.
  3. If you choose to lean heavily on the work of others, you will be cheating yourself. You will learn less. Moreover, while you may end up with excellent grades on the problem sets, you will almost surely struggle with the three exams, which account for roughly 70% of the final grade.

Grading Policy

Grades will be roughly computed as follows:

Problem sets: 30%
Quiz I: 15%
Quiz II: 20%
Final: 35%

Problem sets will receive one of five grades:

Excellent
Good
Acceptable
Unacceptable
Not Submitted

At the beginning of the term, students are given two late days that they can use on problem sets. A late day must be confirmed with your TA in advance of the problem set deadline. Starting with Problem Set 1, additional late days can be accumulated for each assignment, one late day for each day the assignment is turned in ahead of the deadline. Up to 3 late days may be accumulated in this fashion at any particular point during the semester. For example, turning in Problem Set 2 on Sunday when it was due on Tuesday will earn you two late days, but if you already had two late days stored, you would only have three late days accumulated. If you use one of these late days on Problem Set 3, you are down to two late days, but you can get back up to three late days by turning in Problem Set 4 early.

Any additional late work beyond these late days will not be accepted, unless an extension has been approved by Prof. Guttag.

Textbook

There is no course textbook; much of the reading will come from online sources. However, if you are seeking an additional optional reference, you may find the following useful:

Python Programming: An Introduction to Computer Science
by John M. Zelle

This book is available at Quantum books, and online at Amazon.com.

Google Group

We have set up a Google Group that students may choose to opt in to. We try to broadcast answers to questions here, and it's also a forum for students to help each other out. Usually you will get a faster response to your technical questions if you email this address rather than just the 6.00-staff.

Staff

Professor John Guttag guttag at csail.mit.edu
 
TAs Eunsuk Kang eskang at csail.mit.edu
Katherine Kuan kkuan87 at mit.edu
Yunus Sasmaz yunus at mit.edu
Jessica Yuan meritite at mit.edu

For office hours, please see the schedule calendar. Office hours are located in 32-044 rooms A and B.