Fundamentals of Programming
(Spring 2019)

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

Announcements for seventh week of class (Week of Mar. 18)

  1. This week and every week thereafter, Wednesday 1-3pm office hours will only occur in 4-370, and Friday 1-3pm office hours will only occur in 32-123.

  2. 6.009 lecture Monday 2.30-4 in 32-123 will not have a video feed anymore. With current lecture attendance, everyone fits in 32-123.

  3. Lab 5 is due Friday, March 22 at 4.00pm. Because Spring Vacation impinges on the usual checkoff deadline for Lab 5, we will accept Lab 5 checkoffs late-penalty-free until 10pm on April 3.

  4. There will be tutorials covering good OO encapsulation at 10am in 26-100, as well as at 1pm in 4-370. The same material will be covered in both tutorials. Staff will be available to answer questions and perform checkoffs outside of when the tutorial is presented, i.e., 9-10a in 26-100 and after the tutorial ends, 10a-12p in 4-149 (no tutorial given), and after tutorial ends in 4-370.

  5. Friday's sessions will be OH.

  6. We will hold office hours during the two Sundays over Spring Break (1:30-10pm on 3/24 and 3/31, in 34-303), but none on weekdays.

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:
02/22 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:
03/01 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:
03/08 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
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:
03/22 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:
03/29 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 TBD 6: Gift Delivery

Solution Release:
04/12 8:00 AM
Week 10
04/08 - 04/12
Taking the Wheel: Extending Built-In Python Constructs with Iterators and Overloaded Operators No Tutorial (Office Hours) 7: TBD Quiz 2:
April 10th,
7:30-9:30pm

Quiz Info Release:
04/05 4:00 PM

Room Signup Starts:
04/08 4:00 PM
Week 11
04/15 - 04/19
No Lecture (Patriot's Day) TBD 8: TBD 7: TBD

Solution Release:
04/26 8:00 AM
Week 12
04/22 - 04/26
TBD TBD 9: TBD 8: TBD

Solution Release:
05/03 8:00 AM
Week 13
04/29 - 05/03
Scripting and Text-File Processing TBD 9: TBD

Solution Release:
05/10 8:00 AM
Week 14
05/06 - 05/10
TBD No Tutorial (Office Hours) 10: TBD Quiz 3:
May 8th,
7:30-9:30pm

Quiz Info Release:
05/03 4:00 PM

Room Signup Starts:
05/06 4:00 PM
Week 15
05/13 - 05/17
No Lecture (Extra Office Hours) No Tutorial (Office Hours) 10: TBD

Solution Release:
05/24 8:00 AM