| 8/16 | Introduction, take role, rules |
| 8/18 | Microcontrollers, embedded systems, development tools |
| 8/20 | More development tools, project 1 |
| 8/23 | Binary digital input and output |
| 8/25 | Transition detection, debouncing |
| 8/27 | More software debouncing techniques, project 2 |
| 8/30 | Timer device, concepts and configuration |
| 9/1 | Interrupt service routines (in general), timer ISR |
| 9/3 | Applications of timer ISR as a timing basis |
| 9/8 | Stepper motors, stepper motor driver, basic stepping concepts |
| 9/10 | Stepper motor motion control, trapezoid profile, physics formulae |
| 9/13 | Stepper motor control implementation, frequency division, project 3 |
| 9/15 | Acceleration logic, distance control logic, code organization |
| 9/17 | Practice exam 1 |
| 9/20 | More code organization for stepper motor control, project 4 |
| 9/22 | Exam 1 |
| 9/24 | Differential steering, ccncept, angular and linear components |
| 9/27 | Implementation of differential steering, combination of speed control profiles, project 5 |
| 9/29 | Phototransistors as sensors, advanced techniques |
| 10/1 | External interrupts, edge sensing |
| 10/4 | Analog to digital convertor (ADC), configuration |
| 10/6 | ADC ISRs, techniques to scan multiple channels, software layer separation |
| 10/8 | Triangulation sensors (GP2D12), noise problems, glitch filtering |
| 10/11 | More filtering, averaging noise, circular buffers, project 5 |
| 10/13 | DC motors, concept of pulse-width modulation (PWM), configuration of hardware-based PWM |
| 10/15 | More on PWM, R/C servo control, problems with PWM |
| 10/18 | Rotation encoding, quadrature encoding, software techniques |
| 10/20 | Quadrature encoder interface techniques, filtering, project 6 |
| 10/22 | Practice exam 2 |
| 10/25 | Partial Integral Differential (PID) control loop, concepts |
| 10/27 | Exam 2 |
| 10/29 | PID implementation issues, bit-width resolution, fixed-point computation |
| 11/1 | PID constant tuning, introduction to Micromouse competitions, project 7 |
| 11/3 | Basic robot design issues, configuration, component selection |
| 11/5 | More on Micromouse design issues |
| 11/8 | Maze exploration and mapping algorithms, depth-first search |
| 11/10 | More mapping algorithms, floodfill, project 8 |
| 11/15 | Map representation, set representation and implementation |
| 11/17 | Floodfill algorithm implementation |
| 11/19 | Introduction to micromouse simulator, interface description, project 9 |
| 11/22 | Introduction to real-time kernel (RTK), basic threading |
| 11/24 | Multithreading concepts, round robin, priority queue, scheduling |
| 11/29 | Utilizing an RTK, thread coordination, semaphores |
| 12/1 | More RTK concepts, relationship of ISR and RTK, coordination of ISR and RTK |
| 12/3 | Application of RTK to robotics, such as Micromouse |
| 12/6 | Practice final exam |
| 12/8 | Student presentations |
| 12/13 | Final exam 1015-1215 |