Fundamentals of Programming
If you are a current student, please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.csail.mit.edu) to authenticate, and then you will be redirected back to this page.
Announcements: Week 1 (Week of 10 Feb 2020)
The checkoff for lab 0 is due on Wednesday, 12 Feb at 10pm.
Lab 1 is now available. It has a few questions due on Monday (10 Feb) at 1:30pm. The rest of the questions (and code submission) are due on Friday (14 Feb) at 4pm, and the checkoff is due on Wednesday, 19 Feb, at 10pm.
If you have not already done so, it is a good idea to log in to the 6.009 Forum. Not only is this a good place to ask questions and get help as you are working through the labs, but we will also use that forum as a way to make announcements throughout the semester. Logging in to the forum will make sure that you also receive e-mails when new announcements are posted to the forum.
Archived announcements are available here.
The calendar below will be populated throughout the semester with links to labs, quizzes, and lecture/tutorial handouts.
We'll be using Jupyter notebooks (.ipynb files) to distribute some of the content and code
from tutorials and lectures. If you would like to run these interactively
on your machine, please see the Jupyter installation
guide (we recommend following the
instructions that use
pip3 if you do decide to install Jupyter).
02/03 - 02/07
Welcome, Python Notional Machine
Python Notional Machine
Lab 0 Due (Image Processing 1)
Lab 1 Released (Image Processing 2)
02/10 - 02/14
Functions and Functional Design Patterns
Lab 1 Due
Lab 2 Released (Bacon Number)
02/17 - 02/21
|Exhaustive Search||Search with a Queue||
Lab 2 Due
Lab 3 Released (TBD)
02/24 - 02/28
Lab 3 Due
Lab 4 Released (TBD)
03/02 - 03/06
|Python Goodies||Tent Packing||Lab 4 Due|
03/09 - 03/13
Quiz 1: 11 Mar, 7:35-9:25pm
Lab 5 Released (TBD)
03/16 - 03/20
|Recursion 2 (with Backtracking)||Talent Search||
Lab 5 Due
Lab 6 Released (TBD)
03/30 - 04/03
|Custom Types||Card Game||
Lab 6 Due
Lab 7 Released (TBD)
04/06 - 04/10
|Classes and Inheritance||Factory||Lab 7 Due|
04/13 - 04/17
|Scoping and Closures||No Tutorial||
Quiz 2: 15 Apr, 7:35-9:25pm
Lab 8 Released (TBD)
04/20 - 04/24
|Scheme Environment Model||
Lab 8 Due
Lab 9 Released (TBD)
04/27 - 05/01
|Python, Sockets, and the Web||Functional Programming||Lab 9 Due|
05/04 - 05/08
|Parallel Programming||No Tutorial||Quiz 3: 6 May, 7:35-9:25pm|
05/11 - 05/15
|Programming Beyond 6.009||No Tutorial (Office Hours)|