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.
|Topics||procedures, data structures, objects, state machines|
|Lab Exercises||implementing robot controllers as state machines|
|Abstraction and Modularity||
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)|