CSE 608 Computer Networks (3 credits)

Course Description:

An introduction to data communications, computer networks, protocols, and distributed processing as well as relevant standards and underlying theory. Topics include transmission methods, error detection, communication protocols, etc. Internet technologies are emphasized.

Prerequisite:

CSE 603

Course Objectives:

  • Articulate basic networking techniques
  • Describe differences, limitations and capabilities of different network topologies and technologies
  • Create network software applications client/server and webservice applications
  • Describe problems inherent to network security and identify approaches to address problems 
  • Intro (.5)
    • Overview of communications
    • The communications process
    • Physical communications
    • Networking
  • Network architecture (.5)
    • Topologies
    • Local area networks
    • Wide area networks
  • Client socket programming (2)
    • Stream sockets
    • Datagram sockets
    • Sending/receiving data
    • Converting bytes to primitives
    • Converting bytes to strings
    • Heterogeneous issues - big vs little endian, Unicode
    • Client programming
    • Server programming
  • Testing, error handling, error recovery in networks (1)
    • Error handling testing
    • Recovery techniques
    • Session version stateless recovery
    • Logging, debugging techniques for asynchronous events
    • Timeouts
  • Application Layer (2)
    • The Web and HTTP
    • FTP
    • Email
  • Transport Layer (2.5)
    • Reliable data transfer
    • TCP
    • UDP
    • Congestion Control
  • Network Layer (2.5)
    • Virtual circuit and datagram networks
    • IP protocol
    • Routing algorithms
  • Link Layer (2)
    • Error detection and correction
    • Local area networks
    • Link layer addressing
    • Ethernet
  • Security and Privacy (1)
  • Exams (1)