Course Meeting Times

Lectures: 9 sessions / 2 weeks, 3 hours / session

Subject Meetings

6.090 is two weeks long, meeting from January 10th through January 21st.

6.090 meets from 10 am until 1 pm each day. Each class is a combination of lecture, and lab to both present and reinforce the material. Due to the long class period, opportunities for students stretch their legs will be provided. Laptops can be powerful distractants; students are trusted to use them responsibly.


Upon completion of 6.090, students will be able to solve basic computational problems by implementation in scheme.

  • Be able to phrase a problem in computational terms.
  • Be able to reduce a problem into a set of easier sub-problems.
  • Be able to implement a design plan in scheme.
  • Be able to reason about program code in order to ascertain its function (or lack thereof).


Each day, the course will be a mix of lecture, and lab as students are introduced to both the language scheme and the mechanics of how to actually write code. Homework will be assigned each evening. The course has one exam, which is designed to feel like Quiz 1 of 6.001.


  • 9 Classes
  • 7 Homeworks
  • 1 Quiz

In order to pass the class, you must do all of them. Homework will not be graded; any commentary is to point out things that you did well or could do better. In order to have "done" a homework, you must have put a significant amount of effort into completing it; all the assigned problems need not be working.

Being IAP, we don't have the same expectation of academic focus as during term, thus each student is granted One Freebie. This freebie may be used to be excused from any one assignment. If you are worried about grades, please talk to the course staff.


Collaboration is a great way to solve problems, unfortunately it is very easy to fall into the trap of counting on your partner to solve certain types of problems. For this reason, some of the problems during class and on the homeworks will be marked non-collaborative problems. You may not work with or discuss any of these problems with anyone other than the course staff (lab assistants are OK).

As a guideline, when collaborating with someone, you should discuss the problem with them, but write up your solution yourself (your fingers, your keyboard). Watching is no substitute for actually doing it yourself.

Many of the problems used in 6.090 have also been used in 6.001 at some point and there will be solutions lying around. Please don't use them; it won't help you learn the material.

The Laboratory

6.001 maintains a laboratory for its students. During term, a large cadre of lab assistants hang out in lab to answer students' questions and ensure that they don't stay stuck on a problem for ages. For the duration of 6.090 we will be staffing lab a couple hours a day. These hours will be posted.