ECE 158B, Data Networks II

University of California San Diego

Spring 2021


ECE 158B is a second course in data networking following ECE 158A, and will be focused on software implementation of network systems and applications. The objective is to consolidate the knowledge you learned in ECE158A (or other similar computer network courses) through hands-on measurement and implementation of network protocols (link layer, IP layer, and transport layer), and to further experiment with state-of-the-art network architectures and applications. The course lectures will cover the following topics: network programming over TCP/UDP sockets; application-layer protocols (DNS, HTTP, P2P); multimedia protocols (video streaming, VoIP, video telephony, virtual reality); data center networking and cloud computing; software-defined networking; network security.
There will be 6 programming assignments involving general network programming (mainly in Python), and measurement/simulation tools such as Wireshark and Mininet. A few hands-on tutorials will be interleaved with the lectures to help you familiarize with the programming tools. In addition, there will be 2 group mini-projects, each spanning 3 to 4 weeks.

General information: