CSE 4/589 Programming Assignments

Description of the programming assignments used at the University at Buffalo (UB)'s CSE 4/589: Modern Networking Concepts course.

View My GitHub Profile

Programming Assignment 2 (PA2)


PA2 asks students to implement three reliable data transport protocols: Alternating-Bit (ABT), Go-Back-N (GBN), and Selective-Repeat (SR), in a simple simulator initially developed by Kurose-Ross, and compare their performance under different settings. In addition to understanding reliable protocols in depth, students obtain a basic understanding of how a discrete event simulator works and the differences between a simulator and a real system.

Suggested workload/time

3-4 weeks

Quick Checklist: Instructors/Course Staff

In order for students to be able to complete PA2, they need to be provided with:

  1. Link to the assignment handout
  2. Assignment of a grading host/machine to each student (Optional; Required only if repeatability of exact simulation results is needed)