Instructional Initiatives

We develop and utilize our own materials for teaching computer networking foundations with a strong focus on lower layer fundamentals and functional protocol observations in a lab environment. Our course modules include content for basic networking, network programming, network troubleshooting, and cybersecurity in the network layer.

Our instructional environment includes in-person lectures, thorough written content for asynchronous consumption, and a real-time lab environment utilizing our SDI testbed for both prepared labs and free-form student exploration. We provide real-time evaluation through an automated exercise feedback mechanism to students, as well as a rich framework for instructors to employ per-student quizzes and exams with automatic grading.

We use Jupyter Notebooks to conduct our hands-on labs with automated evaluations of learning objectives. The course materials are composed of:

  • Documentation with description of concepts in html and pdf documents that are continuously maintained with textual updates and new content


The lab experiment instructions as well as concept descriptions are in web form to provide detailed explanations, easy navigation capabilities, and continuous updates for new content

  • Flow charts of protocol behavior at specific network vertices in a wide variety of topology graphs


Easy-to-follow process flows provide useful reference material as students work through exercises and become comfortable with protocol details

  • Laboratory experiments that illustrate protocol behavior in a hands-on environment


The lab notebooks provide the medium for effective note-taking along with protocol observations

  • Exercises with instantaneous feedback on performance


Dynamically-generated and automatically-graded exercises are available for both instructor evaluation and student self-evaluation and practice

  • Back-end data collection on student learning activities for instructional research and course management