Fall 2019, 2020, 2021, 2022 - EENG 439/ ENAS 940 Neural Networks and Learning Systems
Course Description: Neural networks (NNs) have become all-pervasive giving us self-driving cars, Siri Voice assistants, Alexa and many more. While deep NNs deliver state-of-the-art accuracy on many artificial intelligence tasks, it comes at the cost of high computational complexity. Accordingly, designing efficient hardware architectures for deep neural networks is an important step towards enabling the wide deployment of NNs, particularly in low-power computing platforms, such as, mobiles, embedded Internet of Things (IoT) and drones. This course aims to provide a thorough overview on deep learning/neuromorphic computing techniques, while highlighting the key trends and advances toward efficient processing of deep learning and spike-based computing in hardware systems, considering algorithm-hardware co-design techniques. See link for more details.
Spring 2021, 2022 - EENG 201 Introduction to Computer Engineering
Course Description: The purpose of this course is to introduce freshmen and sophomore EE or CS students to logic design, digital system design, and computer design. The course provides a fundamental understanding of how computers work. It covers technical foundations of how a computing platform is designed from the bottom up. It introduces various execution paradigms, hardware description languages, and principles in digital design and computer architecture. The focus is on fundamental techniques employed in the design of modern microprocessors and their hardware/software interface.
Spring 2023 - ENAS 925 Special Topics in Computer Systems: Memory Devices, Circuits and Applications
Course Description: This course provides a comprehensive understanding of semiconductor memory technologies, spanning both established and emerging options, and explores their impact on computer system design and performance. This includes an in-depth discussion of SRAM, DRAM, and NAND FLASH as well as emerging non-volatile memory technology. Key topics covered include the fundamental operating principles, device physics, manufacturing processes, considerations for bit-cell design, array architectures, and technology scaling trends.