Unit 1: Software Engineering | Introduction to Electrical Engineering and Computer Science I | Electrical Engineering and Computer Science | MIT OpenCourseWare

« 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 »