**Course Objective 1: **Students will be able to model discrete event behavior using finite automata and regular languages

*Student Learning Outcomes:*

- Understand the concept of finite strings and regular languages
- Establish the relation between regular languages and finite state automata
- Understand the concept of state minimization and the canonical recognizer

**Course Objective 2: **Students will be able to apply supervisory control to discrete event systems

*Student Learning Outcomes:*

- Introduce controllable and uncontrollable events
- Understand the concept of controllability Understand the concept of nonblocking
- Develop the basic algorithm for nonblocking supervisory control

**Course Objective 3: **Students will learn how to exploit structural properties of discrete event systems by modular modeling and controller design

*Student Learning Outcomes:*

- Understand the concept of modular discrete event systems
- Introduce the concept of nonconflict among modular system components
- Learn about local modular control

**Course Objective 4: **Students will perform design complexity reduction by abstraction-based controller synthesis

*Student Learning Outcomes:*

- Understand the concept of abstraction
- Investigate the problem of loss of information after abstraction
- Learn conditions for avoiding loss of information

**Course Objective 5: **Students will be able to perform failure diagnosis for discrete event systems

** Student Learning Outcomes**:

- Understand basic principles of fault diagnosis for discrete event systems
- Learn about diagnosability and the diagnose automaton
- Study efficient algorithms for the diagnosability verification