Building Programming Experience: A Lead-In to 6.001


Sorry, the lottery has closed


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 1PM-4PM in 32-124. Starts January 17th. Ends January 27th. Monday January 16th 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] -
  2. Procedures and Recursion [pdf]
  3. More Procedures [pdf]. You'll also need lec3-handout.scm .
  4. Recursive/Iterative Processes, Syntactic Sugar, Lists [pdf] You'll also need lec4-handout.scm .
  5. List Procedures, Data Abstractions [pdf]
  6. Higher Order Procedures, Types, Nimrod [pdf]
  7. Quiz
  8. Searching and Sorting [pdf]
  9. Drawing [pdf] My code for this lecture.
Include file for LaTeX

Homework

  1. Homework 1 (out Tuesday, due Wednesday) -
  2. Homework 2 (out Wednesday, due Thursday) - You may want to use the function substring? in this file . Solutions
  3. Homework 3 (out Thursday, due Friday) . Solutions
  4. Homework 4 (out Friday, due Monday) . Solutions
  5. Homework 5 (out Monday, due Tuesday) . You can use these definitions for the last problem. Solutions
  6. Homework 6 (out Tuesday, due Wednesday) . You will need nimrod.scm for this problem.
  7. Homework 7 (out Wednesday, due Thursday) . You will need hw7code.scm for this problem.

Handouts

References

Instructors

Marshall Tappen (mtappen@mit.edu, )

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.