HUNTERTUTORING

Computer networks

Undergraduate · CS / Programming

Syllabus focus

Topics typically covered

Standard syllabus

Layered architecture

  • OSI and TCP/IP models; encapsulation
  • Physical and link layers: framing, error detection (intro)
  • Ethernet, switches, and ARP
  • IP addressing, subnets, and CIDR
  • ICMP and basic troubleshooting (ping, traceroute)

Transport and applications

  • UDP vs TCP; reliability, flow control, congestion control (intro)
  • Sockets API: TCP client/server programming
  • HTTP/1.1, DNS, and CDN concepts (intro)
  • Routing algorithms: link-state, distance-vector (intro)
  • NAT, DHCP, and home/office network design

Protocols in depth

  • Ethernet, IP addressing, and subnetting practice
  • TCP handshake, congestion control intuition
  • UDP use cases and reliability layering
  • HTTP/1.1 vs HTTP/2/3 survey
  • DNS resolution path and caching
  • NAT, firewalls, and middleboxes

STEM / applied

Labs and measurement

  • Wireshark packet capture and protocol analysis
  • Building a multi-threaded web server (intro project)
  • Latency, bandwidth, and throughput experiments
  • Wireless and mobile networks overview (802.11, LTE intro)
  • Network security: TLS handshake and certificates (intro)

Advanced topics survey

  • Software-defined networking and OpenFlow (intro)
  • Content delivery and anycast (intro)
  • Peer-to-peer and overlay networks (intro)
  • QoS and traffic shaping (intro)
  • Cloud VPCs and security groups in practice

Building and diagnosing

  • Socket programming client/server labs
  • Wireshark/tcpdump packet analysis
  • TLS certificates and HTTPS debugging
  • CDN caching behavior for web apps
  • Rate limiting and DDoS mitigation basics
  • Capstone: small protocol or networked app with tests

Notes

Socket programming language varies (C, Python, Java). Wireless depth differs by department.