CPE 3300 - Computer Networking

3 lecture hours 2 lab hours 4 credits
Course Description
This course provides a comprehensive study of hardware and software aspects of computer networking. Hardware topics include network topology, signal encoding, error detection, and data link controls. Software topics focus on the layers of the TCP/IP suite of protocols and implementing client and server applications using the POSIX socket API.
Prereq: MTH 2480 , CPE 2610 , and (CPE 2600  or CSC 3210 ) (quarter system prereq: MA 262, CE 2812, and CS 3840 or CS 3841)
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Describe basic terminology pertaining to data communications and networking, including the roles of various protocol layers in a protocol architecture
  • Determine the frequency-domain spectrum of a random binary data signal, and of a square-wave binary data signal
  • Determine and describe data segments transferred and those retransmitted when using either stop-and-wait or sliding-window data link control protocols, under various data-error and data-flow conditions
  • Determine the CRC frame-check sequence (FCS) transmitted for a given data block, and determine whether or not errors are detected within a received data block that includes a CRC FCS
  • Determine data link capacities using Nyquist and Shannon limits
  • Determine and sketch NRZ, RZ, Manchester, AMI, and differentially encoded data waveforms for a given information data bit sequence
  • Determine ASK, FSK, and PSK modulated signal waveforms for a given information data bit sequence
  • Describe the operation of CSMA/CD protocols for an Ethernet LAN
  • Understand what networking protocols are and how they are specified
  • Understand the protocols of the Internet such as HTTP, Email, and domain name services
  • Distinguish between transport-layer protocols UDP and TCP
  • Write client and server applications using the POSIX socket API

Prerequisites by Topic
  • Be able to complete basic embedded system programming tasks
  • Employ embedded systems development tools
  • Design and write C functions
  • Use interrupts in C to perform I/O
  • Use the various subsystems of the processor in practical applications
  • Develop system level software on a modern operating system
  • Perform fundamental probability calculations, for example, the probability that at least three of five dice rolled have values of either 1 or 2 showing

Course Topics
  • Overview of communication & networking
  • Signal and data representation
  • Spectra, bandwidth, noise, impairments
  • Transmission media and typical signals
  • Data encoding, modems and digital modulation
  • Data link control (error control and flow control)
  • Error detection and error correction techniques
  • Local Area Networks, ethernet, and LAN Performance
  • Ethernet
  • IP, ICMP, IPv4 addressing, IPv6 addressing
  • UDP, TCP
  • Routing
  • Network Address Translation
  • Common application protocols, such as HTTP, Email, and domain name services

Laboratory Topics
  • Observe signaling concepts such as bandwidth measurements of a digital data signal, line coding techniques, modulation of digital data, bit-error rate measurements for digital data transfer on a baseband data link that has noise
  • Develop and implement a host node/station that participates on a CSMA/CD network
  • Observe traffic on a TCP/IP network with common network utilities
  • Develop a variety of client and server application using the POSIX socket API

Coordinator
Dr. Darrin Rothe


Print-Friendly Page (opens a new window)