Polytechnic University of Valencia Congress, Sixth International Conference on Higher Education Advances

Font Size: 
Self-Contained Jupyter Notebook Labs Promote Scalable Signal Processing Education
Dominic Carrano, Ilya Chugunov, Jonathan Lee, Babak Ayazifar

Last modified: 21-04-2020


Our upper-division course in Signals and Systems at UC Berkeley comprises primarily sophomore and junior undergraduates, and assumes only a basic background in Electrical Engineering and Computer Science. We’ve introduced Jupyter Notebook Python labs to complement the theoretical material covered in more traditional lectures and homeworks.

Courses at other institutions have created labs with a similar goal in mind. However, many have a hardware component or involve in-person lab sections that require teaching staff to monitor progress. This presents a significant barrier for deployment in larger courses. Virtual labs—in particular, pure software assignments using the Jupyter Notebook framework—recently emerged as a solution to this problem. Some courses use programming-only labs that lack the modularity and rich user interface of Jupyter Notebook’s cell-based design. Other labs based on the Jupyter Notebook have not yet tapped the full potential of its versatile features.

Our labs (1) demonstrate real-life applications; (2) cultivate computational literacy; and (3) are structured to be self-contained. These design principles reduce overhead for teaching staff and give students relevant experience for research and industry.


Full Text: PDF