Massachusetts Institute of Technology
Dept. of Electrical Engineering and Computer Science
Fall Semester, 2007
6.01: Introduction to EECS I

We are seeking to hire LAs for Spring 08. Look here for information.

Calendar

Assignments for each week will be posted on this page by Tuesday. They will include a pre-lab assignment due before Thursday lab and a post-lab assignment due at the beginning of the following Tuesday lecture. Each lab ends with a short quiz. There will also be supervised homework hours on Wednesday nights, to help you prepare for Thursday.

Lectures are typically on Tuesday but a few are on Thursday (see calendar below).
Lectures are 10:00-11:30 in 10-250 followed by software lab 11:30-1:00 in 34-501.

Labs are typically on Thursday but a few are on Tuesday (see calendar below).
Labs are 10:00-1:00, in 34-501

Tuesday Thursday
Sep. 4
Registration Day
Sep. 6
Lecture: Models of programs and programming styles
Lab: Using Python and SoaR
Lecture 1 Notes
Assignment 1

Sept. 11
Lecture: Functional programming: Higher-order procedures and list comprehension
Software Lab: Functional programming
Lecture 2 notes
Assignment 2
utilityBrain.py
prob.py
Sep. 13
Lab: Using utility functions to combine behaviors and achieve complex goals

nanoquizWeek2solns.pdf
Sep. 18
Lecture: Object-oriented programming
Software Lab: Object-oriented programming
Lecture 3 notes
Assignment 3
fsm.py
sequence.py
UtilityBrainTB.py
Sep. 20
Lab: Sequential combination of behaviors

nanoquizWeek3solns.pdf
Sep. 25
Lecture: Difference equations
Software Lab: Difference equations
Lecture 4 notes
Assignment 4
diffeq.py
diffeq.pyc
polynomial.pyc
soar-graph.py
feedback_brain.py
Sep. 27
Lab: Driving down hallway

nanoquizWeek4solns.pdf
Oct. 2
Lecture: Difference Equations and orders of growth
Software Lab: Difference equations 3 ways: forward iteration, recursion, memoization
Lecture 5 notes
Assignment 5
differenceEquationWithInput.py
polynomial.pyc
soar-graph.py
Oct. 4
Lecture: Z-transforms, feedback and Black's formula
Software Lab: Transform manipulation software, finding poles, stability
Lecture 6 notes
(same source code as available on Tuesday)
differenceEquationWithInput.py
polynomial.pyc
soar-graph.py
Oct. 9
Columbus Day
Oct. 11
Lab: Driving down hallway, stable controller.

Assignment 6 (lab)
Assignment 6 Addendum on large gains
differenceEquationWithInputNew.py
Oct. 16
Lecture: Circuits as constraint systems
Software Lab: Resolving circuit constraints
Lecture 7 notes
Lecture 7 lecturer notes
Assignment 7
Assignment 7 Code
Oct. 18
Lab: Software to generate KCL constraints from circuit topology

nanoquizWeek7solns.pdf
Oct. 23
Lecture: Developing circuit intuition; series, parallel, divider formulas. Thevenin Equivalents.
Software Lab: Circuit examples
Lecture 8 notes
Lecture 8 extra notes
Assignment 8
Assignment 8 Code
genKcl.pyc
Oct. 25
Lab: Designing resistor circuit interfaces for motors.

nanoquizWeek8solns.pdf
Oct. 30
Lecture: Designing with Op-amps. Two port models and their limitations.
Software Lab: Adding op-amps to constraint solver
Lecture 9 notes
Lecture 9 extra notes
Assignment 9: Part 1 of 2
(same source code as assignment 8)
Nov. 1
Lab: Designing an analog Robot head controller using op-amps.
Assignment 9: Part 2 of 2
Nov. 6
Lecture: Feedback system design, analog versus digital.
Software Lab: Difference equation model of an op-amp
Lecture 10 extra notes
Assignment 10
control.py
NIDAQ.py
v_oscillo_cntrl.py
Nov. 8
Lab: Design system for turning robot head towards light
Lab report is Midterm
Nov. 13
Lecture: Search and planning
Software Lab: Formulate search problems
Lecture 11 notes
Assignment 11
search.py
Other code for Assignment 11
Nov. 15
Lab: Robot path planning

nanoquizWeek11solns.pdf
Nov. 20
Lecture: Discrete probability
Software Lab: Hidden Markov Models
Lecture 12 notes
Assignment 12
Code for Assignment 12
Nov. 22
Thanksgiving
Nov. 27
Lecture: Probabilistic model for state estimation
Software Lab: State Update
Assignment 13
Code for Assignment 13
Nov. 29
Lab: Robot localization

nanoquizWeek13solns.pdf
Dec. 4
Lab: Robot localization and planning Assignment 14
Dec. 6
Lab: Final project Assignment 14 (Part 2)
Assignment 14 Code
Dec. 11
Lab: Final project
Dec. 13