Teaching

Teaching at Johns Hopkins University


Spring 2024: Instructor of ECE 625 Efficient Computing for AI

This course introduces both the state-of-the-art computing hardware designs for AI and hardware-aware AI algorithm co-optimization, with a focus on improving AI system computing and energy efficiency. The first section will mainly cover the efficient computing hardware designs for AI, including, but not limited to, application specific integrated circuit (ASIC) chip design for AI, in-memory computing (IMC) chip design for AI, GPU optimization for AI, etc. The second section will discuss the hardware-aware AI algorithm optimization, including but not limited to weight quantization, structured pruning, unstructured pruning, sparse processing, knowledge distillation, low rank approximation, memory-efficient on-device continual learning, etc. The course consists of instructor lectures, homework, final project, project demo. One example project is to develop energy efficient AI system on jetson nano-GPU system.

Teaching experience at Arizona State University

Fall 2019-2022: instructor of EEE 425 Digital Systems and Circuits

Course Objective: To be able to analyze and design digital integrated circuits.
Course Description: Digital logic gate analysis and design. Propagation delay times, fan out, power dissipation, noise margins. Design and analysis of CMOS circuits – combinational and sequential logic circuits. MOS memories. VLSI circuits. Cadence for circuit layout and simulation.

Spring 2021/2022: instructor of  EEE334 Circuits II

Design of analog and digital circuits. Diodes/BJTs/Mosfets. Digital and analog circuit building blocks. Fundamentals of mixed signal circuits.


Teaching experience at University of Central Florida

EEL6364 Neuromorphic Computing Architecture, Circuit and Device (Fall 2016/ 2017/ 2018)
Course Description:Advanced concepts in neuromorphic computing architectures and its hardware implementations using nano-scale emerging spin-transfer torque and memristor devices

EEL4362 Post-CMOS Device and Circuit (Fall 2017/ 2018)
Course Description:Introduce state-of-the-art complementary metal-oxide semiconductor (CMOS) technology and post-CMOS technologies including spintronic, memristor, tunneling FET devices and their applications in emerging memory, logic and neuromorphic computing

EEL4768 Computer Architecture (Spring 2016/2017/2018)
Course Description:Computer systems performance and evaluation, processor datapath and control, microprogrammed architectures, instruction and arithmetic pipelines, cache and virtual memory, and RISC vs. CISC.

EEE6338 Advanced Topics in Microelectronics (Fall 2015)
Course Description: Covers advanced topics in microelectronics such as semiconductor device physics, semiconductor device fabrication, and semiconductor device modeling. Occasional.

EEL4781 Computer Communication Networks (Summer 2019)
Course Description:Learn the generic principles, components, and design of modern computer networks, focusing on the Internet.