Fundamentals of Programming
(Fall 2020)

You are not logged in.

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.mit.edu) to authenticate, and then you will be redirected back to this page.

Announcements: Week 3 (Week of 21 Sep)

  1. Quiz Dates (UPDATED): Please take note that due to a change of schedule, 6.009's quizzes will now be offered on Wednesday evenings, 14 October and 2 December. We will provide more information about the quizzes, including practice materials and information about conflict quizzes, as we approach those dates.

  2. Lab 2 Checkoff: The checkoff for lab 2 is due on 23 September at 10pm Eastern time.

  3. Lab 3: Lab 3 is due on 25 September at 4pm Eastern time, with a checkoff due on 30 September at 10pm Eastern.

  4. Progress Page: You can now use the progress page to track your progress on the 6.009 labs.

Archived announcements are available here.

Calendar/Handouts

The calendar below will be populated throughout the semester with links to labs, quizzes, and lecture/recitation handouts.

We'll be using Jupyter notebooks (.ipynb files) to distribute some of the content and code from recitations 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).

Week Lecture Recitation Labs
Week 0
08/31 - 09/04
Subject Overview and Logistics
Video
Python Notional Machine
Live Session
rec00.ipynb
rec00.pdf
Lab 0 Due (Audio Processing)
Lab 1 Released (Image Processing 1)
Week 1
09/07 - 09/11
Functions and Functional Design Patterns
Video
lec01_code.zip
lec01_slides.pdf
lec01_slides_scribbles.pdf
Testing and Debugging Programs
Live Session
rec01.ipynb
rec01.pdf
rec01_full.ipynb
Lab 1 Due
Lab 2 Released (Image Processing 2)
Week 2
09/14 - 09/18
Flood Fill
Video
lec02_code.zip
Word Play
Live Session
rec02.zip
Lab 2 Due
Lab 3 Released (Bacon Number)
Week 3
09/21 - 09/25
Exhaustive Search
Video
lec03_slides.pdf
Search with a Queue
Live Session
rec03.ipynb
rec03.pdf
rec03_table.py
Lab 3 Due
Lab 4 Released (Frugal Maps)
Week 4
09/28 - 10/02
Informed Search Recursive Patterns Lab 4 Due
Lab 5 Released (Minesweeper)
Week 5
10/05 - 10/09
Recursive Patterns Tent Packing Lab 5 Due
Week 6
10/12 - 10/16
TBD No Recitation (Office Hours) Quiz 1: 14 Oct, 7:35-9:25pm ET

Lab 6 Released (SAT Solver)
Week 7
10/19 - 10/23
Recursive Backtracking Talent Search Lab 6 Due
Lab 7 Released (Autocorrect)
Week 8
10/26 - 10/30
Custom Types OOP Lab 7 Due
Lab 8 Released (Symbolic Algebra)
Week 9
11/02 - 11/06
Custom Types
and Linked Structures
OOP Lab 8 Due
Lab 9 Released (LISP 1)
Week 10
11/09 - 11/13
Python Functions and Scoping Higher Order Procedures and Closures Lab 9 Due
Lab 10 Released (LISP 2)
Week 11
11/16 - 11/20
TBD TBD Lab 10 Due

Thanksgiving Break

Week 12
11/30 - 12/04
TBD TBD Quiz 2: 2 Dec, 7:35-9:25pm ET
Week 13
12/07 - 12/11
Programming Beyond 6.009 TBD