Unit 1: Software Engineering

« Previous | Next »

After a brief introduction to programming concepts, this unit focuses on the importance of abstraction and modularity for managing complexity. General principles are developed in the context of state machines, with tangible applications in controlling the behaviors of a mobile robot.

Diagram of sensor input, brain, and action.

Topics procedures, data structures, objects, state machines
Lab Exercises implementing robot controllers as state machines
Abstraction and Modularity

Combinators

Cascade: make new state machine (SM) by cascading two SMs

Parallel: make new SM by running two SMs in parallel

Select: combine two inputs to get one output

Theme PCAP (Primitives, Combination, Abstraction, Patterns)

Looking for something specific in this course? The Resource Index compiles links to most course resources in a single page.

« Previous | Next »

Learning Resource Types
Lecture Videos
Recitation Videos
Problem Sets
Exams with Solutions
Lecture Notes
Instructor Insights
Programming Assignments
Exams