Source code for the following modules are available upon request.
Introductory Course
- Trial and Error
Target Course(s): Introduction to Computer Science
Provides learning experience on the concepts of the “trial and error” method, embedded control using computer programs, and solution evaluation to a technical problem - Binary Search
Target Course(s): Introduction to Computer Science
Provides learning experience on “binary search”, the concept of algorithm efficiency, embedded control using computer programs, and solution evaluation to a technical problem. - Simple Model
Target Course(s): Introduction to Computer Science
Besides embedded control using computer programs and solution evaluation to a technical problem, the module provides experience on constructing a mathematical model using experimental data and applying the model to solve a simple robotic control problem.
Print your own gridded paper for graphing mathematical functions. - Timing
Target Course(s): Introduction to Computer Science
increase the complexity of this course module by adding a timing constraint to the problem itself. This addition significantly increases the complexity of the problem.
Model and Verification
- Module 0: Security Access Device
Provides introductory content for the other modules, preparing students to interact with Ptolemy II for modeling and the Android Development Kit for implementation. - Module 0A: Security Access Device Using Arduino
Target Course(s): Introductory Programming
Provides introductory content about Finite State Machines (FSMs), implementing FSMs using C++, and using the Arduino platform in combination with TinkerKit. - Module 1: Human Activity Classification
Target Course(s): Operating Systems, Embedded Systems
Introduction to signal processing, using Ptolemy II for application modeling and Android for implementation. - Module 2: Baby Toy
Target Course(s): ?
Introduction to (discrete) timed FSM and their translation into Android code. - Module 3: Campus Parking
Target Course(s): Operating Systems
Introduction to concurrency in the context of Android applications, which is modeled via concurrent state machines. - Module 4: Sound Beacon
Target Course(s): Networking
Introduces basics of network communication and contention using sound as the medium.
Networks
- Module N1: Net Design
Target Course(s): Networking
Introduces basics of network protocol design using Mealy Machines, an extension of Finite State Machines.