Blogs (1) >>

The curriculum for a graduate Computer Networking course in Computer Science typically includes activities that help students gain a variety of practical skills that complement the theoretical knowledge they learn during the course. These skills are developed through exercises that present students with scenarios in which they are to understand or cause specific communication behavior over a network. These exercises are constrained by the computer resources that students use for learning. Ideally those resources can be tuned to increase the fidelity of the network that a student is managing—and ultimately allow each student to fully control their own network.

This paper describes the motivation, process, and challenges of delivering a graduate course in networking using resources on FABRIC—a publicly-funded, international testbed for research in networking. The paper analyzes the experience of teaching three graduate courses on networking, and reflects on using FABRIC to (1) ensure that students have equal access to a high-quality network environment (rather than rely on students’ individual laptops or self-managed school equipment), and (2) exploit the research testbed’s flexibility to develop a rich range of exercises for students.

We discuss our lessons learned and share advice for other instructors. We found the network research testbed to be an excellent environment for learning about computer networks. In addition to flexible configuration, it provided elastic scaling to more complex exercises and class sizes, and it provided an excellent stepping stone for students who become interested in doing research or in learning more specialized skills.