ELE/COS 381: Networks: Friends, Money, and Bytes - Fall 2017, Spring 2019 (Princeton, Instructor)

This course is oriented around practical questions regarding the social (“friends”), economic (“money”), and technical (“bytes”) networks in our daily lives. Why is WiFi faster at home than at a hotspot? How does Netflix recommend movies for me to watch? Why doesn’t the Internet collapse under congestion? Why does each Gigabyte of mobile data cost $15? To formulate and answer these questions, we use techniques from data science, linear algebra, and optimization, and introduce the fundamental concepts of the networking industry.

ELE 206 / COS 306: Contemporary Logic Design - Fall 2018 (Princeton, Instructor)

This course teaches the basic concepts in logic design that form the basis of computation and communication circuits. Topics covered include logic gates, memory elements, timing methodologies, finite state machines, controller architectures, programmable logic, and basic computer organization. The lab component covers coding and implementation using Verilog.

EGR 150: Foundations of Engineering - Summer 2018 (Princeton, Instructor)

This course provides a hands-on introduction to the foundational principles of engineering. It gives a project-based introduction to engineering that mixes electronics, mechanical construction, and computational data analysis, while providing a firm theoretical foundation for the project in both math and physics. In lab, students have the opportunity to build, test, and iterate the design of a rocket.
  • Typical enrollment: 20 incoming freshman undergraduate students.
  • Syllabus: From Summer 2018.

ELE 206: Information Signals - Spring 2018 (Princeton, Instructor)

This course teaches mathematical tools to analyze, manipulate, and preserve signals that carry information. A major focus of the course is transforms - in particular, the Fourier, Laplace, and z- transforms - which reveal the frequency spectrum of signals and can make them easier to manipulate. We also study sampling, the process of converting a signal from continuous to digital, and which transforms to use depending on the waveform. Additional topics covered include linear time-invariant systems, modulation, quantization, and stability.

ENG 342: Advanced Engineering Math II (TCNJ, Instructor) - Fall 2016, Spring 2017

This course has two main parts: probability/statistics and partial differential equations (PDEs). In the PDE portion, Fourier series, separation of variables, and solutions to various equations are covered. In the probability portion, topics such as sampling, probability distributions, confidence intervals, and hypothesis testing are covered.

Networks Illustrated: Principles Without Calculus (MOOC, Instructor) - Summer 2013 to Present

This course explains the fundamental principles that govern the social, economic, and technical networks in our daily lives. It is based on a textbook that I co-authored to appeal to a general audience, relying on anecdotes, analogies, and animations as pedagogical tools in lieu of detailed mathematics. It is offered as a Massive Open Online Course (MOOC) on Coursera.

ELE/COS 381: Networks: Friends, Money, and Bytes (Princeton, Lead TA) - Fall 2012

The Fall 2012 version of this course was the first-ever offering of a STEM course in “flipped classroom” format at Princeton, where watching the pre-recorded lectures was part of the homework, and class time was instead used for Q&A discussion, live demonstrations, and guest lectures.

Networks: Friends, Money, and Bytes (MOOC, Instructor) - Fall 2012 to Present

The MOOC version of Networks: Friends, Money, and Bytes is offered on Coursera.