Massachusetts Institute of Technology
Dept. of Electrical Engineering and Computer Science
Spring Semester, 2007
6.081: Introduction to EECS 1

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 end with a short quiz There will also be supervised homework hours on Wednesday nights, to help you prepare for Thursday.

Tuesday Lecture
Part 1, 2:00-3:30 in 1-190
Part 2, 4:00-5:00 in 34-501
Thursday Lab in 34-501, 2:00-5:00
Feb. 6
Lecture: Models of programs and programming styles
Recitation: Using Python: functions, lists, the interpreter
Assignment 1 is posted here. Notes for lecture 1 are posted here.
Feb. 8
Introduction to SOAR and synchronous programming on the robot; simple robot commands; follow a wall
Feb. 13
Lecture: Functional programming: Higher-order procedures and list comprehension
Recitation: Functional programming practice
Assignment 2 is posted here. Notes for lecture 2 are posted here.
Code for assignment 2: feb-13-class.py, ps2-utility.py, ps2-poly.py,
Feb. 15
Using utility functions to combine behaviors and achieve complex goals
Feb. 20
No class: virtual Monday
Lecture will be held in 1-190 on Thursday.
Feb. 22
Lecture (in 1-190): Object-oriented programming (OOP)
Recitation/Lab: OOP practice
Assignment 3 is posted here. Notes for lecture 3 are posted here, lecture 3 slides posted here.
Code for assignment 3: SimplePhysics.py,
Feb. 27
Lab (in 34-501): Robot interpreter to execute sequential combinations of behaviors; obstacle avoidance
Assignment 4 is posted here.
Mar. 1
Lecture (in 1-190): Orders of growth, memoization
Recitation/Lab: Difference equations 3 ways: forward iteration, recursion, memoization
Week 4 software lab is posted here
Code for assignment: diffeq.py
Notes for lecture 4 are posted here
Mar. 6
Lecture: Modeling with difference equations, autonomous difference equations and solutions, difference equations with inputs
Recitation: General second-order difference equation solver
Assignment 5 is posted here
Notes for lecture 5 are posted here
Code for assignment: (IMPORTANT: save as polynomial.pyc, NOT polynomialXX.pyc) polynomial24.pyc (for Python 2.4), polynomial25.pyc (for Python 2.5) importPolynomial.py
Mar. 8
Controlling robot to drive down narrow hallway, develop difference equation model, match data to models
Mar. 13
Lecture: Z-transforms, feedback and Black's formula
Recitation: Transform manipulation software, finding poles stability
Assignment 6 is posted here
Slides for lecture 6 are posted here
Notes for lecture 6 are posted here
Code for assignment: roots.py (and grab updated polynomial.pyc for Python 2.4, Python 2.5 - don't forget to save as polynomial.pyc for importPolynomial to work!)
Mar. 15
Driving down the hall (redux), finding a stable controller
Mar. 20
Lecture: Constraints models versus input-output models, Resistor networks as constraint systems, Constitutive equations (Ohms law) and conservation laws (KCL), Series-parallel combinations and voltage dividers
Recitation: Resolving circuit constraints
Assignment 7 is posted here
Thursday lab for week 7 is posted here
Code for assignment: resolve_constraints.zip
lecture notes (with diagrams)
Mar. 22
Using the NI box as a volt meter, measuring motor current at multiple voltages, adding photoresisters to the robot
Spring break
Apr. 3
Lecture: 1-ports, 2-ports, op-amps, feedback
Recitation: Adding op-amps to the constraint resolver
Assignment 8 is posted here
slides from lecture
lecture notes
Apr. 5
Driving a motor with an op-amp circuit; Using feedback to control a Robot head.
Apr. 10
Lecture: Designing feedback control systems, analog versus digital implementations, modeling
Recitation: Difference equation model of an op-amp
lecture notes
Apr. 12
Design system for turning robot head towards light
Post-lab assignment will be the basis of a mid-term progress evaluation.
Assignment 9 is posted here
Mid-term is posted here
Apr. 17
No class: Patriots Day
Apr. 19
Design project
Assignment 10 is posted here
daqtry.py (original file)
Apr. 24
Lecture: Search and planning
Recitation: Formulate search problems
Assignment 11 is posted here
Code for assignment 11 here
lecture notes
Apr. 26
Robot path planning
May 1
Discrete probability and state estimation
Assignment 12 is posted here
Code for assignment 12 here
lecture notes
May 3
State estimation in discrete worlds
May 8
Lecture: Probabilistic model for state estimation
Recitation: Robot localization in simulator

Assignment 13 is posted here
Code for assignment 13 here
May 10
Robot localization
May 15
Lab: Final project
May 17
Lab: Final project