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.
Evaluation will consist of participation, three homework assignments, and a course project. The breakdown for the overall grade is as follows:
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.
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.
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: