Fall 2018: ENG EC330: Applied Algorithms for Engineers
- Undergraduate course on algorithms.
- Introduction to the general concept of algorithms. Efficiency and run-time of algorithms. Graph algorithms, priority queues, search trees. Various approaches to design of algorithms and data structures, together with their applications to numerical and non-numerical problems.
Fall 2017: ENG EC700: Computer-Aided Verification and Synthesis
- Advanced graduate course on computer-aided verification and synthesis.
- The topics covered include formal specifications, modeling formalisms, verification techniques, inductive synthesis, and emerging applications such as autonomous robots and vehicles. [syllabus]
Spring 2017: ENG EC535: Introduction to Embedded Systems
- Graduate course on embedded systems.
- The topics covered include system specification languages, embedded computer architecture, real-time operating systems, hardware-software co-design, modeling formalisms, verification techniques, and embedded system applications. [syllabus]
Fall 2016: ENG EC551: Advanced Digital Design with Verilog and FPGA
- Graduate course on digital design and computer-aided design algorithms for FPGAs.
- The topics covered include hardware description language (Verilog), specification, design, simulation, verification and synthesis of digital designs on FPGAs. [syllabus]