CS 356: Computer Networks

Fall 2026



Assignments: Network Arena

The assignments use Network Arena, a deterministic, sandboxed simulator in which you operate an independent network. You will write a program for your programmable switches, submit it as a WebAssembly (.wasm) file, and use the results of each run to understand and improve your network.

What this is designed to teach

AI can help write code, but operating a consequential system still requires judgment: deciding what behavior to guarantee, weighing tradeoffs, interpreting incomplete evidence, and adapting a design when the world changes. You may use AI in the course; you remain responsible for understanding, verifying, and defending the behavior of what you submit. Assignment details, team policy, and grading are TBD.

Quizzes will ask about your program's behavior. You will not be expected to understand or recall the code line by line. Instead, we will give you a network scenario and ask what your submitted program will do: for example, how it will route traffic or respond to a failure. We will check those predictions against the program's actual behavior. The goal is to know how your design operates and to be able to reason about it, even when AI helped write the code.

How the arena works

The early assignments give each team its own network and well-defined goals. You will learn to make the network deliver traffic, perform under load, and observe its own behavior. In the later assignments, every team becomes an autonomous system (AS) in one shared simulated Internet. We run the submitted switch programs repeatedly—approximately twice each week. Between runs, teams may submit a new program and may choose to collect logs from the prior run, then use that evidence to refine their strategy.

Assignment sketch

AssignmentFocusStructureDates
1. Make It WorkForwarding, discovery, routing, and recovery from failuresYour own network; establish a reliable foundation.TBD
2. Make It FastQueuing, scheduling, congestion, and isolationYour own network; meet performance goals under load.TBD
3. Make It VisibleMeasurement, telemetry, and fault localizationYour own network; collect evidence and identify hidden anomalies.TBD
4. Take It LiveInterdomain routing, policy, and competitionAll teams share one simulated network; each team operates its own AS.TBD
5. Make It PayMarkets, specialization, and adaptationRepeated shared-network runs; invest and revise your AS strategy between runs.TBD

Competition, specialization, and learning

There is deliberately no universal best strategy. Simulated customers choose the AS offering the best performance-to-cost tradeoff, so a network’s value depends on what the other networks provide. One AS might deploy many CDN nodes; another might focus on edge GPU compute; another might invest in ultra-low-latency wireless links for high-frequency trading. The successful approach is often to specialize, rather than follow a generic answer. This is also why an off-the-shelf LLM solution will not automatically be optimal: when everyone pursues the same strategy, there is an incentive to offer something different.

Full handouts, schedules, scoring rules, and submission instructions will be posted as they are finalized. Assignments may evolve through the course as we learn what works best and respond to the class's progress.