Warning: This page is not the official one of the current course at PUC-MG and only showcases information that is related to a past offering.

About

This course gives students an overall view of computer networks focusing on game programming applications. It introduces them to the OSI and TCP/IP models by presenting the respective algorithms and protocol suites. Topics such as digital modulation, multiplexing, error detection and correction, routing algorithms, congestion control, client-server models, authoritative servers, and others are discussed throughout the course. Students learn to program networked games by using Unity 3D, and socket programming is also introduced.

Textbooks

  • Tanenbaum, A., “Computer Networks”, 5 ed., 2011.
  • Barron, T., LaMothe, A., “Multiplayer Game Programming”. 2001.

Slides

Click on the topic name to download the respective slides as zip files. The inside content is in Portuguese because the course is offered at a brazilian university.

Topic Description
Introduction A brief overview on the history of computer networked games and the Internet. Client-server and peer-to-peer architectures. OSI and TCP/IP layers. Latency and Bandwidth.
Physical Layer Digital-to-analog conversion, guided and wireless communication, digital modulation, and multiplexing.
Data Link Layer Point-to-point communication, framing, error detection and correction, reliable transmission, and medium access control.
Network Layer Packet forwarding and routing, Internet Protocol, subnets, CIDR, NAT, ICMP, ARP, and DHCP.
Transport Layer Host-to-host communication, UDP, RPCs, TCP, reliable transmission, flow control, and congestion avoidance.
Application Layer Brief introduction to protocols such as DNS, SMTP, WWW, HTML, URL, and HTTP.
Authoritative Servers Authoritative vs non-authoritative architectures, client-side prediction, server-side correction, entity interpolation/extrapolation, and lag compensation.

Updated: