Teaching

Teaching Philosophy

I teach undergraduate courses covering basic and advanced networking topics and a graduate course covering machine-learning for networking problems. Given the applied and ever-evolving nature of networking solutions, my approach is to focus on redundant design patterns that guide the decision-making of network designers, researchers, and operators. To this end, I help students identify the design spectrum and related tradeoffs for existing networking protocols and networked systems. I try to put students in the shoes of networking researchers, helping them appreciate how the networking community made various design choices in the past. I also try to highlight the ever-evolving nature of the networking field and how the students can contribute to making an impact of their own in the future.

I pay special attention to instilling excitement about the material and helping students discover new interests. For example, in my classes, rather than speaking exclusively in the abstract, I use real-world network data and configurations from UCSB’s production network to explain various network and application-layer protocols. To offer a better hands-on experience, I translate cutting-edge research into programming assignments. It not only exposes students to the latest developments in the area and adds a new dimension to the research itself.

Courses at UCSB

Quarter Course Code Course Name
Spring 2025CS 176CAdvanced Topics in Internet Computing
Spring 2025CS 293NML for Networked Systems
Fall 2024CS 190NMachine Learning for Networking
Spring 2024CS 176CAdvanced Topics in Internet Computing
Spring 2024CS 293NML for Networked Systems
Fall 2023CS 190NMachine Learning for Networking
Spring 2023CS 176BProgrammable Networks
Spring 2022CS 293NML for Networked Systems
Spring 2022CS 176CAdvanced Topics in Internet Computing
Winter 2022CS 176BProgrammable Networks
Spring 2021CS 176CAdvanced Topics in Internet Computing
Winter 2021CS 176BProgrammable Networks
Spring 2020CS 176CAdvanced Topics in Internet Computing
Winter 2020CS 293NML for Networked Systems