Skip navigation

Site Map | College of Engineering | UC Davis | MyUCDavis

ECS 152A COMPUTER NETWORKS (4) II,III

Lecture: 3 hours

Discussion: 1 hour

Prerequisite: Course 60; Mathematics 135A or Statistics 131A or Statistics 120 or Statistics 32

Grading: Letter; homework (20%), design projects (20%), midterms (30%); final (30%)

Catalog Description:
Overview of local and wide-area computer networks. IS0 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 course 157. Cross-listed with EEC 173A.

Expanded Course Description:

  1. Introduction
    1. Terminology
    2. OSI reference model; layered architecture and protocols
  2. Physical Aspects of Data Transmission
    1. Signals, spectral analysis, bandwidth
    2. Transmission impairments
    3. Data encoding/decoding
  3. Communication Techniques
    1. Serial/parallel communication
    2. Synchronous and asynchronous 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: ALOHA, CSMA/CD
    4. Controlled Access: Token ring/bus
    5. LAN/MAN technologies and topologies
    6. Wireless LANs
  6. The Network Layer
    1. A. Circuit switching
    2. B. Packet switching
    3. C. Virtual circuit vs. datagram
    4. D. Routing
  7. The Transport Layer
    1. Connectionless versus connection-oriented transport, TCP & UDP
    2. TCP flow and congestion control

Textbook:
J.F. Kurose and K.W. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 3rd Edition, Pearson/Addison Wesley, 2004

Computer Usage:

Typically, students do their projects in the campus computer laboratories containing networked SUN, HP, and SGI 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.

Engineering Design Statement:
The course emphasizes techniques for designing and analyzing network protocols, from the application to the link layers. There will be both written and programming assignments in the class. In written assignments, students are 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. The laboratory projects are design-oriented. 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 or the effect of window size on delay and throughput, or to analyze medium access protocols.

ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units

Goals:
Students will:

Student Outcomes:

Instructors: D. Ghosal, B. Mukherjee, X. Liu, P. Mohapatra, C-N. Chuah, N. Matloff

Prepared by: D. Ghosal and C-N. Chuah (October 2006)

Overlap Statement:
There is some overlap with the introductory material of ECS 252A and EEC 273, Computer Networks, taught at a graduate level.

Cross-listing Justification:
This course is integral to undergraduate programs in both departments, especially the CSE and CE majors. ECS 152A has been taught two or three times per year by the Dept. of Computer Science in the past, and now some of that teaching will be done under the number EEC 173 in the Dept. of Electrical and Computer Engineering. Whichever department teaches the course in a given offering will be responsible for staffing and for all the normal resources used for the course.

Back to Course Descriptions