EEC173A - Computer Networks

4 units - Fall, Winter, and Spring Quarters

Lecture: 3 hours

Discussion: 1 hour

Prerequisites: ECS60; ECS132 or EEC161 or MAT135A or STA131A or STA120 or STA32

Grading: Letter

Catalog Description: Overview of local and wide-area computer networks. ISO seven-layer model. Physical aspects of data transmission. Data-link layer protocols. Network architectures. Routing. TCP/IP protocol suite. Local area networks. Medium access protocols. Network performance analysis. Only 2 units of credit for students who have taken ECS157.

Goals: Students will:
  • learn basic knowledge of fundamental principles in communication networks
  • understand the architecture and underlying protocols along with scalability, complexity, and robustness of large-scale network systems
  • be prepared to undertake an in-depth study of local and wide area networks dealing with their access mechanisms, routing algorithms, performance evaluation methodologies, and related issues
  • gain experience in the design and analysis of network protocol through experiments on Ethernet LAN, network measurements, or through simulation models.

Relationship to Outcomes:  
Students who have successfully completed this course should have achieved:

Course Outcomes ABET outcomes
An ability to apply knowledge of mathematics, science, and engineering A
An ability to design and conduct experiments, as well as to analyze and interpret data B
An ability to identify, formulate, and solve engineering problems E
A knowledge of contemporary issues J
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. K

Expanded Course Description:

  1. Introduction
    1. Terminology
    2. OSI reference model; layered architecture and protocols
  2. Physical aspects of data transmissions
    1. Signals, spectral analysis, bandwidth
    2. Transmission impairments
    3. Data encoding/decoding
  3. Communication Techniques
    1. Serial/Parallel communication
    2. Synchronous and asyncschronous communication
    3. Interfacing techniques
    4. Multiplexing: FDM, TDM, STDM
  4. Data Link Control
    1. Flow Control
    2. Error Detection
    3. Error Control
  5. Broadcast Communication Networks
    1. Medium Access Control (MAC) Protocols
    2. Channel Partitioning: FDMA, TDMA, CDMA
    3. Random Access: Token ring/bus
    4. LAN/MAN Technologies and Topologies
    5. Wireless LANs
  6. The Network Layer
    1. Circuit Switching
    2. Packet Switching
    3. Virtual Circuit vs Datagram
    4. Routing
  7. The Transport Layer
    1. Connectionless vs. Connection-Oriented Transport, TCP and UDP
    2. TCP Flow and Congestion Control

Computer Usage: Typically, students do their projects in the campus computer laboratories containing networked workstations and personal computers (PCs) running LINUX. The simulation project can be done on other computers as well, such as PCs at home. The projects are typically done in the C, C++ or Java programming languages, although the simulation project can be done in any other high-level language as well.

Laboratory Projects: The course contains a series of design projects with 2-3 students per team. The projects are designed to reinforce certain concepts and to familiarize the students with network measurement tools and simulators. Example projects include: 

  1. Designing a simulation model, e.g., using network simulator (ns-2) to analyze various aspects of the Internet protocol or compare performance of different flow control protocols
  2. Monitoring and analyzing data collected using active/passive network measurement tools or a LAN analyzer
  3. Extended assignment to design measurement experiments to analyze a particular performance metric or network anomaly
  4. Introductory assignment to configure PC-based or commercial routers

Textbook: J. Kurose and K. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, Addison Wesley.

Engineering Design Statement: The course emphasizes techniques for designing and analyzing network protocols, from the application to the link layer. There will be both written and programming assignments in the class. In written assignments, students will be presented with open-ended problems that require them to explore various approaches to network design, to choose between alternatives, and to justify solutions based on performance and cost/complexity considerations. Sample projects include: (1) design of elementary file transfer protocol, (2) design tools to collect and analyze network measurements, and (3) design of a simulation model to study the characteristics of various error control strategies, the effect of window size on delay and the throughput, or to analyze medium access protocols.

Professional Component: Engineering Depth, Laboratory
Engineering Science: 2 units
Engineering Design: 2 units