Each week has thee types of activities: a 90-minute lecture, a 90-minute software lab, and a 3-hour design lab. All class sections attend the same lecture, on Tuesday from 10:00-11:30 in 26-100. The sections all meet in 34-501, as follows:
Software lab | Design lab | |
---|---|---|
Section 1 | T 11:30 - 1:00 | Th 10:00 - 1:00 |
Section 2 | T 2:00 - 3:30 | Th 2:00 - 5:00 |
Section 3 | W 11:30 - 1:00 | F 10:00 - 1:00 |
Section 4 | W 8:30 - 10:00 | F 7:00 - 10:00 |
Lecture | Software Lab | Design Lab |
---|---|---|
Feb. 5 Big idea: Modeling -- The PCAP framework for coping with complexity prmitives, means of combination, means of abstraction, procedures, list and list comprehension, linear and logarithmic processes; examples: square roots, exponentiation, polynomial evaluation Assignment for Week 1 Lecture notes: Feb 5 Course notes for Week 1 Errata behaviorBrain.py boxWorld.py |
Getting familiar with the 6.01 programming environment; values and roots of polynomials Homework: Simple expressions and procedures, design lab preparation | Introduction to SoaR; basic robot commands; reading the sonars; robot brains and the transducer programming framework; behaviors and actions |
Feb. 12 Big idea: Captuting common patterns Higher-order procedures as means of captuting common patterns; procedures as returned values; lambda Assignment for Week 2 Addendum and Correction to Assignment for Week 2 Lecture notes: Feb 12 Course notes for Week 2 code for software lab code for design lab |
Practice with higher-order procedures; implementing sets as procedures Homework: Procedures and abstraction | Designing non-deterministic behaviors as an example of the PCAP framework |
Feb. 19: There is no lecture on
Feb. 19 (virtual Monday). Instead,
The three main design-lab sections will each run as a
one-hour lecture followed by a two-hour software lab. Lab will be
in 34-501, as usual. The lecture locations are as follows:
Thursday, Feb 21, 10AM - 11AM, in 32-123 Thursday, Feb 21, 2PM - 3PM, in 32-123 Friday, Feb 22, 10AM - 11AM, in 32-155 Big idea: Modeling with data and data abstraction Data abstraction; selectors and constructors, classes. Finite state machines. Assignment for Week 3 Course notes for Week 3 code for software lab |
There is no software lab this week. Homework from last week, and explorations from PS1 and PS2 (if you did them) are due at the beginning of desgn lab (this week only). | Practice with class definitions data abstraction: A state machine class and a polynomial class. |
Feb. 26 Big idea: Modeling with state modeling with state; objects with local state; encapsulation; object-oriented programming; classes as a means of abstraction; inheritance as a means of capturing common patterns Assignment for Week 4: Revised! Addendum to Assignment for Week 4 Course notes for Week 4 Lecture notes Week 4 (including correction from lecture) code for labs some worlds for testing Bug2 |
Object oriented programming: polynomials Homework: Object oriented programming | Sequential behavior and termination (i.e., can a robot dance?) |
March 4 Big idea: Modeling and abstraction with signals Linear time-invariant systems; difference equations; delay-adder-gain block diagram; the dealy operator, system functions, PCAP framework for systems and signals Assignment for Week 5 (Revised version) Software lab addendum Course notes for Week 5 Lecture notes Week 5 Code for labs SystemFunctionHomework.py (please read this). |
Difference equations. Homework:Solving difference equations. | Driving down a corridor using optical sensors. |
March 11 Big idea: Qualitative behavior of LTI systems Pole in the complex plane; stability; feedback and Black's formula; Assignment for Week 6 Code for software lab Code for design lab Course notes for week 6 Lecture notes week 6 Exploration 6 Exploration 6 Addendum Code for Exploration |
Building manipulating system functions and finding poles | Stability and improved feedback control system for driving down a corridor |
March 18 Big idea: Circuits and constraint models Input-output models vs. constraint models; resistor networks as constraint systems; Constitutive equations (Ohm's law) and conservation laws (KCL) Assignment for Week 7 Course notes for week 7 Lecture notes week 7 |
Building circuits
Ex Camera Midterm March 19 (see Assign 6 for details) Sample Midterm and solutions Midterm solutions No tutor problems |
More building circuits.
No nanoquiz; no homework |
Spring Break: March 24-28 | ||
April 1 Big idea: The PCAP framework for circuits, and modeling 1-ports and Thévenin equivalence as a means of abstraction; ideal op-amp as a 3-terminal device; 2-port model of the ideal op-amp; simple circuits with op-amps; Black and the negative feedback amplifier; the paradox of the input-output model vs. the constraint model Assignment for week 8 Revised Design Lab for week 8 What you need to write up for week 8 (matches revised design lab) Code for software lab Course notes to week 8 Lecture notes for week 8 Exploration for week 8 |
Practice with simple circuits (both by hand and with software); computing Thévenin equivalents Homework:Circuit practice | Building circuits; measuring voltages and currents; motor driver using voltage dividers |
April 8 Big idea: Multiple models and modeling perspectives need for dynamic analysis; difference equation model of the op-amp Software lab for week 9 Design lab for week 9 Lecture notes for week 9 Code for software lab Exploration for week 9 |
Adding op-amps to the constraint solver Homework: Op-amp circuits | Designing an analog robot head controller using op-amps. |
April 15 Big idea: Search and planning defining search spaces; depth-first search; breadth-first search; dynamic programming. Software lab for week 10 Course notes for week 10 Lecture notes for week 10 search.py for software lab Design lab for week 10 Code for design lab Code for homework Exploration for week 10 |
Search problems Homework: More search problems | Design a control system for turning the robot head towards a light. |
April 22 Patriots' Day Holiday: No lecture |
no software lab this week |
Robot path planning
Pset for week 11 Code for week 11 |
April 29 Big idea: Probabilistic models basic discrete probability; conditional probability; Bayes rule; sequential models. Course notes for week 12 Lecture notes for week 12 Assignment for week 12 Code for software lab |
Hidden Markov Models Homework: Modeling the sonar sensors | Final project: moving towards a light |
May 6 Big idea: recursive state estimation Code for software lab Software lab assignment Code for design lab Design lab assignment Course notes Lecture slides Final exam announcement and practice final (revised) Practice final solutions Final review notes Zip file of all nano-quizzes |
General state estimation | Final project: combining localization and light detection. |
May 13 Big idea: There really are big ideas Course wrap up. Lecture slides |
Finish Final project | no design lab this week |
Ex-camera final exam: Wednesday, May 21, 1:30PM - 7:30PM |