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 1 (PA1)


PA1 introduces students to TCP socket programming, asking them to develop the client and server components of a text chat application, consisting of one chat server (handling client registration, relaying messages, maintaining statistics, etc.) and multiple chat clients. As a bonus, students can implement file transfers between clients over P2P connections.

Suggested workload/time

5 weeks

Quick Checklist: Instructors/Course Staff

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

  1. Link to the assignment handout
  2. List of the five grading hosts and path to the student work/test directory
  3. Configuration options for AutoGrader (Client) grader.cfg file. For UB students, only port number is required (others options are pre-populated).