CS 5114 (Spring 2013)

Network Programming Languages
TR 8:40-9:55
Hollister 306


This course provides an introduction to the languages used to program computer networks. It will examine recent proposals based on logic, functional, and distributed languages, as well as tools for establishing correctness using automatic solvers, model checkers, and proof assistants. Topics covered will include classic Internet routing protocols, along with peer-to-peer, overlay, enterprise, datacenter, and software-defined networks.

Course Overview

Part I: Networking Basics

Part II: Software-Defined Networks

Part III: Distributed Protocols

Part IV: Verification

Part V: Advanced Topics


Evaluation will consist of participation, three homework assignments, and a course project. The breakdown for the overall grade is as follows:

Homework Policy


Each student is expected to submit a short review of one of the papers assigned as reading for each lecture. Reviews should be one half of a page to a page in length. Reviews are due at the start of class: they can either be submitted by email or handed in at the start of class. Each review should have four sections: summary (what problem is the paper solving? what are the main contributions? what are the key findings?), strengths (2-4 points), weaknesses (2-4 points), and detailed comments (constructive criticism).


The course will not have exams.

Academic Integrity

Students are expected to conduct themselves with the utmost integrity. If you are unsure about what is allowed and what is not, please ask! See here for the university code of academic integrity.

Special Needs and Wellness

It is university policy to provide reasonable accommodations to students who have a documented disability (e.g., physical, learning, psychiatric, vision, hearing, or systemic) that may affect their ability to participate in course activities or to meet course requirements. Students with disabilities are encouraged to contact Student Disability Services at 607-254-4545, or the instructor for a confidential discussion of their individual needs.

If you are experiencing undue personal or academic stress at any time during the semester or need to talk to someone who can help, contact the instructor or:

Validate XHTML Validate CSS
Last updated January 2013