Fundamentals of Programming
(Spring 2019)
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
Congratulations on completing 6.009!
Please report any discrepancies between your understanding of your scores and what you see on your Progress page as soon as possible and before May 15, 10pm.
And, please fill out course evaluations before May 20, 9am. We welcome feedback to improve future offerings of 6.009.
Archived announcements are available here.
Calendar/Handouts
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'd like to run these interactively
on your machine, please see the Jupyter installation guide.
We recommend following the instructions that use pip3
.
Week | Lecture | Tutorial | Lab Release | Lab Due | Quiz |
---|---|---|---|---|---|
Week 1 02/04 - 02/08 |
No Lecture (Registration Day) |
Subject Intro
tutorial1.zip |
1: Image Processing | ||
Week 2 02/11 - 02/15 |
Built-In Data Types (Lists, Dictionaries, Sets, and Friends)
lecture2.zip |
Practice with Sets and Dictionaries
tutorial2.zip |
2: Bacon Number |
1: Image Processing
Solution Release: 12/31 8:00 AM |
|
Week 3 02/18 - 02/22 |
Recursion 1: Decomposing Problems
lecture3.ipynb lecture3_template.ipynb |
Recursive Patterns
tutorial3.zip |
3: HyperMines |
2: Bacon Number
Solution Release: 12/31 8:00 AM |
|
Week 4 02/25 - 03/01 |
Recursion 2: Backtracking Search
lecture4.zip |
Applications of Backtracking Search
tutorial4.ipynb tutorial4_template.ipynb |
3: HyperMines
Solution Release: 12/31 8:00 AM |
||
Week 5 03/04 - 03/08 |
Linked Data Structures
lecture5.zip |
No Tutorial (Office Hours)
q1_practice_solutions.zip |
4: Tent Packing |
Quiz 1: March 6th, 7:30-9:30pm Quiz Info Release: 03/01 4:00 PM Room Signup Starts: 03/04 4:00 PM Quiz Solutions Released: 03/18 4:00 PM |
|
Week 6 03/11 - 03/15 |
Mutating Recursive Data Structures
lecture6.zip |
Introduction to Nested Data Structures
tutorial6.ipynb tutorial6_template.ipynb |
5: Autocomplete |
4: Tent Packing
Solution Release: 12/31 8:00 AM |
|
Week 7 03/18 - 03/22 |
Interfaces and Implementations
lecture7.zip |
Classes and More Interfaces
tutorial7.zip |
6: Gift Delivery |
5: Autocomplete
Solution Release: 12/31 8:00 AM |
|
Week 8 03/25 - 03/29 |
No Lecture (Spring Vacation) | No Tutorial (Spring Vacation) | |||
Week 9 04/01 - 04/05 |
Nested Data Structures
lecture9.zip |
Data Representation
tutorial9.ipynb tutorial9_template.ipynb |
6: Gift Delivery
Solution Release: 12/31 8:00 AM |
||
Week 10 04/08 - 04/12 |
Taking the Wheel: Extending Built-In Python Constructs with Iterators and Overloaded Operators
lecture10.ipynb lecture10_template.ipynb |
No Tutorial (Office Hours)
q2_practice_solutions.zip |
7: Faster Gift Delivery |
Quiz 2: April 10th, 7:30-9:30pm Quiz Info Release: 04/05 4:00 PM Room Signup Starts: 04/08 4:00 PM Quiz Solutions Released: 04/22 4:00 PM |
|
Week 11 04/15 - 04/19 |
No Lecture (Patriot's Day) |
Generators
tutorial11.zip |
8: 6.009 Zoo |
7: Faster Gift Delivery
Solution Release: 12/31 8:00 AM |
|
Week 12 04/22 - 04/26 |
Sorting Techniques
lecture12.zip |
Symbolic Algebra
tutorial12.zip |
9: 6.009 Zoo, Part 2 |
8: 6.009 Zoo
|
|
Week 13 04/29 - 05/03 |
Scripting and Text-File Processing
lecture13.zip |
Web Requests
tutorial13.zip |
9: 6.009 Zoo, Part 2
Solution Release: 12/31 8:00 AM (Combined solution for Lab 8 and Lab 9) |
||
Week 14 05/06 - 05/10 |
Concurrent Programming
lecture14.zip |
No Tutorial (Office Hours)
q3_practice_solutions.zip |
10: File Downloader |
Quiz 3: May 8th, 7:30-9:30pm Quiz Info Release: 05/01 8:00 AM Room Signup Starts: 05/06 4:00 PM Quiz Solutions Released: 05/20 4:00 PM |
|
Week 15 05/13 - 05/17 |
No Lecture (Extra Office Hours) | No Tutorial (Office Hours) |
10: File Downloader
Solution Release: 12/31 8:00 AM |