# 6.090 Course Policy

All information associated with 6.090 will be located on the 6.090 website:

http://web.mit.edu/benmv/6.001/www/bpe/

## Contact Info:

Lecturer, in Charge: Ben Vandiver - Office: 32-G908, Ext: 3-3058, Email: benmv@mit.edu

## Subject Meetings:

6.090 is two weeks long, meeting from January 10th through January 21st. There will be no class on January 17th due to Martin Luther King Jr. Day. Likewise, there will be no homework assigned over the three day weekend (go skiing!).

6.090 meets from 10am until 1pm each day in 32-144. 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.

## Objectives:

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).

## Syllabus:

### First Week:

- Monday - intro, logistics, abstractions, basic scheme
- Tuesday - procedures and recursion
- Wednesday - lists and data structures
- Thursday - higher order procedures
- Friday - quiz

### Second Week:

More problem solving using material covered in the first week. Time permitting: quotation, mutation, and environment model

## Grading:

- 9 classes
- 7 homeworks
- 1 quiz

In order to pass the class, you must do all of them. Homework will be 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:

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 on the 5th floor of building 34. The lab is a large athena cluster devoted to 6.001 (and 6.004). During term, a large cadre of lab assistants hang out in lab to answers 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 on the website.

Questions to bpe-staff@mit.edu.