Building Programming Experience: A Lead-In to 6.001




Details on this page are from January 2005. We are currently planning the January 2006 version. We hope to have important details figured out by the end of October, so check back then for updates.


Description

This course will serve as an aggressively gentle introduction to programming for those students who lack background in the field. Specifically targeted at students with little or no programming experience, the course seeks to reach students who intend to take 6.001 in the Spring Term and feel they would struggle because they lack the necessary background. The main focus of the subject will be acquiring programming experience: instruction in programming fundamentals coupled with lots of practice problems. Lots of programming required, but lots of support provided.

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.

Logistics

Meets 10am-1pm in 32-144. Starts January 10th. Ends January 21st. Monday January 17th is a holiday.

The course will be using Windows XP laptops. If you have one already, bring it to the first class. If not, IS&T will be providing loaner laptops for the duration of the class. These will be issued on the first day of class and returned on the last day of class.

Clicker

Lectures

  1. Introduction and Basic Scheme (pdf,ps,dvi,LaTeX) - Notes - Solutions
  2. Procedures and Recursion (pdf,ps,dvi,LaTeX) - Notes - Solutions
  3. More Procedures (pdf,ps,dvi,LaTeX) - Notes - Solutions
    Code: lec3.scm
  4. Sugar, Recursive/Iterative, Basic Lists (pdf,ps,dvi,LaTeX) - Notes - Solutions
  5. List Procedures, Data Abstraction (pdf,ps,dvi,LaTeX) - Notes - Solutions
  6. HOPs, Types, Nimrod (pdf,ps,dvi,LaTeX) - Notes - Solutions
    Code: nimrod.scm
  7. Quiz (pdf,ps,LaTeX) Answer sheet (pdf,ps,LaTeX) - Solutions
    Practice Problems (Solutions)
    Post-Quiz Lecture - Notes
  8. Tags, Alists, Trees (pdf,ps,dvi,LaTeX) - Notes - Solutions
    Code: lec8.scm
  9. Henderson Picture Language (pdf,ps,dvi,LaTeX) - Notes
    Code: lec9.zip (unzip in u6001 directory)
    Feedback form (pdf,ps,dvi,LaTeX)
Include file for LaTeX

Homework

  1. Homework 1 (out Monday, due Tuesday) - Solutions
  2. Homework 2 (out Tuesday, due Wednesday) - Solutions
  3. Homework 3 (out Wednesday, due Thursday) - Solutions
  4. Homework 4 (out Thursday, due Friday) - Solutions
  5. Optional Homework 5 (out Friday, due? Up to you) - Solutions
  6. Homework 6 - nimrod.scm (out Tuesday, due Wednesday) - Solutions
  7. Homework 7 - hw7code.scm (out Wednesday, due Thursday) - Solutions
  8. Homework 8 - advgame.scm (out Thursday, due Friday) - Solutions

Handouts

References

Instructors

Ben Vandiver (benmv@mit.edu, AIM: metametagenie)
Gireeja Ranade (gireeja@mit.edu)
Emily Yan (kirason@mit.edu)
Freddy Bafuka (fbafuka@mit.edu, AIM: frednbaf)

The course staff can be reached at bpe-staff@mit.edu.

Random Stuff

An intro to double-oh one
Ben said it would be lots of fun.
  the six oh nine oh theme
  was programming scheme,
And now we are sad that it's done.