Fundamentals of Programming
(Fall 2022)

You are not logged in.

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

  1. Quiz 2 Information and Practice Materials: Quiz 2 will be held on Wednesday, 7 December, starting at 7:35pm. More information about the quiz is available from this page (including practice materials and now including room assignments).

    • You will not be expected to read or write Scheme code on the quiz.
  2. Upcoming Due Dates:

    • The cutoff time for all parts of the Week 11 Lab is Monday, 5 December at 9am.
    • The "Abstract Data Types" reading has been delayed. It will be released during week 13 instead.

Announcements from past weeks are available here.

Calendar/Handouts

Please log in to see your section assignment. You may change your section using the section change form.

The calendar below will be populated throughout the semester with links to readings, recitation materials, and labs. The current week is marked in blue.

Week 0 (Mon, 5 Sep - Fri, 9 Sep)

Week 0 Readings: Intro
Due: Wed, 14 Sep at 8:00am

Week 0 Lab: Audio Processing

Week 0 Midpoint Recitation (Wed, 7 Sep) Files:
testing_debugging.py

Week 0 Wrap-up Recitation (Mon, 12 Sep) Files:
lab00_wrapup.py

Week 1 (Mon, 12 Sep - Fri, 16 Sep)

Week 1 Readings: Environment Model
Due: Wed, 14 Sep at 8:00am

Week 1 Lab: Image Processing

Week 1 Midpoint Recitation (Wed, 14 Sep) Files:
python_goodies.py

Week 1 Wrap-up Recitation (Mon, 19 Sep) Files:
lab01_wrapup.py

Week 2 (Mon, 19 Sep - Fri, 23 Sep)

Week 2 Readings: Functions
Due: Wed, 21 Sep at 8:00am

Week 2 Lab: Image Processing, Part 2

Week 2 Midpoint Recitation (Wed, 21 Sep) Files:
functions.py

Week 2 Wrap-up Recitation (Mon, 26 Sep) Files:
lab02wrapup.py

Week 3 (Mon, 26 Sep - Fri, 30 Sep)

Week 3 Readings: Flood Fill
Due: Wed, 28 Sep at 8:00am

Week 3 Lab: Bacon Number

Week 3 Midpoint Recitation (Wed, 28 Sep) Files:
Python_container_types.pdf
set_dict_examples.py

Week 3 Wrap-up Recitation (Mon, 3 Oct) Files:
lab03wrapup.py

Week 4 (Mon, 3 Oct - Fri, 7 Oct)

Week 4 Readings: Graph Search
Due: Wed, 5 Oct at 8:00am

Week 4 Lab: Snekoban

Week 4 Midpoint Recitation (Wed, 5 Oct) Files:
free-pizza.py

Week 4 Wrap-up Recitation (Mon, 10 Oct) Files:
lab04wrapup.py

Week 5 (Mon, 10 Oct - Fri, 14 Oct)

Quiz 1: Wed, 12 Oct at 7:30pm

Information and Practice Materials

Scores and Statistics

Week 6 (Mon, 17 Oct - Fri, 21 Oct)

Week 6 Readings: Recursion
Due: Wed, 19 Oct at 8:00am

Week 6 Lab: Recipes

Week 6 Midpoint Recitation (Wed, 19 Oct) Files:
debug_recursion.py
trees_and_grammars.py

Week 6 Wrap-up Recitation (Mon, 24 Oct) Files:
lab06wrapup.py

Week 7 (Mon, 24 Oct - Fri, 28 Oct)

Week 7 Readings: Recursion and Iteration
Due: Wed, 26 Oct at 8:00am

Week 7 Lab: Mines

Week 7 Midpoint Recitation (Wed, 26 Oct) Files:
linked-lists.py

Week 7 Wrap-up Recitation (Mon, 31 Oct) Files:
lab07wrapup.py

Week 8 (Mon, 31 Oct - Fri, 4 Nov)

Week 8 Readings: Backtracking
Due: Wed, 2 Nov at 8:00am

Week 8 Lab: SAT Solver

Week 8 Midpoint Recitation (Wed, 2 Nov) Files:
potluck.py

Week 8 Wrap-up Recitation (Mon, 7 Nov) Files:
lab08wrapup.py

Week 9 (Mon, 7 Nov - Fri, 11 Nov)

Week 9 Readings: Custom Types and Linked Data Structures
Due: Wed, 9 Nov at 8:00am

Week 9 Lab: Autocomplete

Week 9 Midpoint Recitation (Wed, 9 Nov) Files:
nbodies_initial.py
nbodies_solution.py

Week 9 Wrap-up Recitation (Mon, 14 Nov) Files:
lab09wrapup.py

Week 10 (Mon, 14 Nov - Fri, 18 Nov)

Week 10 Readings: Inheritance and Object-oriented Design
Due: Wed, 16 Nov at 8:00am

Week 10 Lab: Super 6.101 Adventure

Week 10 Midpoint Recitation (Wed, 16 Nov) Files:
game_initial.py
game_solution.py
game_utils.py

Week 10 Wrap-up Recitation (Mon, 21 Nov) Files:
symbolic-algebra.pdf
symbolic-algebra.py

Week 11 (Mon, 21 Nov - Fri, 25 Nov)

Week 11 Readings: Functional Programming
Due: Wed, 23 Nov at 8:00am

Week 11 Lab: LISP Interpreter

Week 11 Midpoint Recitation (Wed, 23 Nov) Files:
scoping.py
square_root.py
square_root.scm

Week 11 Wrap-up Recitation (Mon, 28 Nov) Files:
basic-scheme.py
basic-scheme.scm

Week 12 (Mon, 28 Nov - Fri, 2 Dec)

Week 12 Readings: Abstract Data Types
Due: Fri, 9 Dec at 5:00pm

Week 12 Wrap-up Recitation (Mon, 5 Dec) Files:
lab11wrapup.py

Week 13 (Mon, 5 Dec - Fri, 9 Dec)

Quiz 2: Wed, 7 Dec at 7:30pm

Information and Practice Materials

Week 14 (Mon, 12 Dec - Wed, 14 Dec)

Week 14 Readings: Programming Beyond 6.101
Due: Wed, 14 Dec at 8:00am

Week 14 Lab: TBD
Released: Fri, 9 Dec at 5:00pm
Due: Wed, 14 Dec at 4:00pm
Cutoff: Wed, 14 Dec at 10:00pm