I have been teaching since 2019 at UIUC. My teaching activities over the past years include instructing the courses, developing educational resources for both regular courses and lab-based courses, advising undergraduate/graduate research, and publishing pedagogical papers. The following summarizes my teaching activities.
ECE 463 – IoT and Software-Defined Radio Lab
ECE 463 is a senior-level digital communication laboratory course. The course introduces students to various components of a digital transceiver and its application in modern digital communication. Students will learn through lab-driven experiments with software-defined radio (SDR). I instructed the course in Fall 2018, Spring/Summer/Fall 2019, and Fall 2022.
In Fall 2018, I renovated the entire lab materials to offer more hands-on experience on SDR and advanced digital communication applications such as orthogonal frequency-division multiplexing (OFDM) and Internet-of-things (IoT). The sample materials can be found below.
- Sample lab document: Introduction to USRP
- Sample lab document: IoT
- Sample lecture note: OFDM
USRP (left) for the SDR device and LabView (right) for the programming tool
ECE 420 – Embedded DSP Laboratory
ECE 420 is a senior-level digital signal processing laboratory course. The course gives students hands-on experience with real-time embedded systems using Android tablets. Students will learn industrially-relevant skills such as rapid design prototyping in Python, and Android development of DSP applications in C++/Java. The course also provides entrepreneurial experiences including open-ended design, oral, and written communication, and team projects. I have instructed the course since Spring 2020.
In Spring 2022, I developed a new lab module that introduces basic machine-learning concepts such as regression and classification. Students will create a simple handwritten digit recognition system on the Android tablet. The lab projects and materials are open-source.
The pedagogical approach and lab development progress of this course were published at ASEE Annual Conference in 2021.
- Digit recognition Prelab
- Digit recognition Lab
- Sample lecture note: Audio synthesis
- ASEE 2021 paper and presentation
Audio spectrogram lab: Skeleton C++ code (left) and Android app (right)
Students’ choice final project examples: Musical sound synthesis project (upper left), Shape detector project (lower left), and foreground removal project (right)
ECE 496/499 – Senior Research and Thesis
Through ECE 496/499, I have advised the following students.
Student Name | Graduate Year | Thesis Title | Placement |
---|---|---|---|
Miraj Shah | 2021 | SimpleSynth: Mobile Music Synthesizer | Northrop Grumman Corporation |
Luke Jacobs | 2023 | Research into applications of the USRP software-defined radio | UIUC Graduate School |
Mukhilshankar Umashankar | 2023 | Measuring vital signs contactless using mmwave radar | UIUC Graduate School |
Daniel Abdoue | 2023 | Camera-mmwave radar sensor fusion for object tracking | |
Kunal Sheth | 2024 | SCMD: Single-Circuit, Multiple-Data | Stanford Graduate School |
Diego Del Carpio | 2024 | Dysarthria detection in audio files | |
Esther Chang | 2024 | Tracking applications using software defined radios | Texas Instrument |
ECE 220 – Computer Systems & Programming
ECE 220 is a sophomore-level multi-section introductory programming course. Students learn advanced use of LC-3 assembly language for I/O, C/C++ programming, basic programming concepts, functions, arrays, pointers, I/O, recursion, simple data structures, linked lists, dynamic memory management, and basic algorithms. I instructed the course in Spring/Fall 2019, Spring/Fall 2020, Fall 2021, and Spring 2022.
In 2020, I developed in-class worksheets to help students engage with lectures for an active learning experience in the classroom. The other instructors who want to exercise a flipped classroom model have used the worksheets in their lectures.
- Sample worksheet: LC3-TRAP, Run-time stack, Linked list
- Sample lecture note: Linked list
ECE 310 – Digital Signal Processing
ECE 310 is a junior-level multi-section digital signal processing course. I instructed the course in Spring 2021, Summer 2022, and Spring 2023.
- Sample lecture note: Reconstruction
- Sample Homework: HW
ECE 205 – Introduction to Electric and Electronic Circuits
ECE 205 is an introductory course on circuit analysis and electronics for non-majors in engineering course. I instructed the course in Summer 2021.
- Sample lecture note: Ohm’s Law
ENG 572 – Practicum
ENG 573 – Capstone Project
Through ENG 572, I have guided 7 Master of Engineering students for their internship projects in Amazon, Intel, Nvidia, Cirrus Logic, KLA Corporation, and Schlumberger.
Through ENG 573, I have guided 3 Master of Engineering students for their Capstone projects in Texas Instrument.