Course Meeting Times

Lectures: 2 sessions / week, 1 hour / session

Mega-recitations: 1 session / week, 1 hour / session

Recitations: 1 session / week, 1 hour / session

Tutorials: 1 session / week, 1 hour / session

Frequently Asked Questions

Should I take the subject this semester?

The following are the major differences between the fall and spring versions:

  • Professor Patrick H. Winston is in charge in the fall.
  • In recent years, the most conspicuous feature of the fall version is that it focuses toward the end of the semester on models of aspects of human intelligence.

Am I expected to attend lectures, tutorials, mega-recitations, and ordinary recitations?

Yes. We believe that the lectures, tutorials, mega-recitations, and recitations are all an important part of the MIT experience, and we work hard to make them interesting and useful.

  • Lectures introduce most of the material and provide the big picture. We often include questions on the quizzes and final that you can answer only by faithful lecture attendance.
  • Mega-recitations demonstrate how to work problems of the kind that tend to show up on the quizzes.
  • Recitations introduce some of the material, answer questions, provide additional perspective, and provide a venue small enough for discussion.
  • Tutorials provide help with the homework and provide additional opportunity to ask questions and engage in discussion in an even smaller venue.

What can I bring to the quizzes and the final?

All exams are open book, open notes, open problem sets and solutions, open everything, except for computers.

Grading and Collaboration Policy

Collaboration Policy

You may collaborate with other students on your problem sets to come up with general ideas on how to implement things, but your code must be your own. Aside from the standard code that comes with the problem set, all the code you submit must have been written by you, with an understanding of what it does. We get very sore if we catch someone cheating.

Grade Distribution

Because MIT does not, by policy, permit grading on a curve, and because there will be little or no time pressure on the quizzes and the final, we expect the grade distribution to reflect understanding. In the past, we have seen a great deal of understanding.

Grading Policy

Your grade in 6.034 will be calculated as the average of six scores:

  • Max (Quiz 1, Final part 1)
  • Max (Quiz 2, Final part 2)
  • Max (Quiz 3, Final part 3)
  • Max (Quiz 4, Final part 4)
  • Final part 5
  • Average problem set grade

All of these scores will be on a 1–5 scale, averaged together like a GPA. The 1–5 scale is not based on a class average—we do not calculate class averages—but rather on what the instructors consider the scores to mean:

5 Thorough understanding of the topic
4 Acceptable understanding of the topic
3 Some understanding of the topic
2 or 1 Poor understanding of the topic

You will get an A if your average score is above about 4.5, a B if it is between about 3.5 and about 4.5, and so on. If you are near one of the transition points, your tutorial and recitation instructors can decide whether to round your grade up or down based on your class participation.

Winston, Patrick. "Skills, Big Ideas, and Getting Grades Out of the Way." MIT Faculty Newsletter, March/April 2008.


There are four 1–hour quizzes, held in the same time slot as lectures. There are also five sections of the final, where the first four correspond to the four quizzes.

The grades you receive for topics 1 through 4 are the maximum of your quiz grade and your grade on the corresponding section of the final. This means you're allowed to have a bad day.

Note that the maximizing is by quiz and final section, not by problem or topic. If you get a perfect score on one question of a quiz, and a zero on the other, you will have to do well on the entire corresponding section of the final to improve your score.

If you get sick or miss a quiz for some other reason, there is no need to contact us about how to make it up later. You already have a way to make it up, which is the final.

Problem Sets

Problem sets are submitted as Python programs, and are graded automatically. Every problem set comes with a file called "", which you use both to test and to submit your code. It has an "offline" and an "online" (or "submit") mode, which may or may not contain the same test cases. When you use the online tester, you receive your grade automatically. You can always resubmit to try to improve your grade.

Sometimes, the tester will generate random test cases. The point is to make sure that your code is actually doing the right thing, not doing just barely enough to pass the public tests.

Hard-coding the answers is cheating. Don't do it.

Problem Set Grades

As stated above, problem sets count for 1/6 of your grade.

Problem sets are graded on a 5 point scale. If you pass all the online tests, you get a 5. If you miss one online test, you get a 4. (Remember that you can fix the bug and try again!) From there, your grade decreases linearly at a slower rate with the number of test cases you miss.