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
Exam Solutions
Exams
Instructor Insights
Lecture Notes
Lecture Videos
Open Textbooks
Problem Sets
Problem-solving Videos
Programming Assignments