Computer Science

ECS 152C Advanced Topics in Computer Networks

ECS 152C ADVANCED TOPICS IN COMPUTER NETWORKS (4)

Format
Lecture: 3 hours
Discussion: 1 hour

Catalog Description:
Advanced topics in computer networks, wireless networks, multimedia networking, traffic analysis and modeling, network design and management, network simulation and performance analysis, and design projects in communication networks

Prerequisite: Course 152A or Electrical and Computer Engineering 173A

Credit restrictions/cross listings: Same course as Electrical and Computer Engineering 173B

Cross-listing justification This course expands the choice of project electives for the undergraduates in both departments, especially the CSE and CE majors. The department teaching the course will be responsible for staffing and for all the normal resources required for the course.

Summary of course contents

  1. Wireless Networks
    1. Wireless LANs
    2. Cellular networks
    3. Ad hoc and sensor networks
    4. Routing  and transport layer protocols
    5. Standards LTE and  IEEE 802.11
  2. Multimedia Networking
    1. Protocols
    2. Adaptive streaming
    3. Multicasting
    4. Video standards, quality and adaptations
  3. Network and Traffic Models
    1. Poisson, self-similarity, heavy-tailed distributions
    2. Properties of large networks
  4. Network measurement, design, and management
    1. Control plane vs. data forwarding plane
    2. Simple Network Management Protocol (SNMP)
    3. Capacity planning and provisioning
    4. Load balancing
  5. Simulation and Performance Analysis
    1. Queuing models
    2. Discrete-event simulator
    3. Traffic traces

Computer Usage: The class requires extensive use of UNIX workstations.

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/management tools and simulators. Example projects include: (1) Design active and passive network measurement tools; (2) Traffic analysis based on packets captured from the network and/or publicly available traffic traces; (3) Configuration of PC-based or commercial routers; (4) Designing protocols for and programming wireless sensor nodes; (5) Design new wireless protocols and evaluate their performance via network simulators. 

Goals: This undergraduate course intends to cover advanced topics in computer networks and illustrate the design, management, and operational principles of computer and telecommunication networks. Students have weekly lab assignments to reinforce the concepts and provide hands-on experience. By the end of the quarter, the students will be able to use concepts learned in class to develop systematic approach to address design problems, including scalability, complexity, and robustness issues of large-scale networking systems, properties and configurations of underlying hardware components, heterogeneous channel characteristics, and emerging applications.

Illustrative reading

  • J. Kurose and K. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 6th Edition, Pearson/Addison Wesley, 2012.
  • J. Richard Burke, Network Management: Concepts and Practice: A Hands-on Approach, Prentice Hall, 2004
  • Instructor’s notes, research papers, lab manuals, and online references.

Engineering Design Statement:
The course emphasizes techniques for designing and analyzing network elements, from the application to the link layers. Students are presented with open-ended design 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 and experimental in nature.

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

GE3: Science & Engineering

Overlap: This is a follow-up course with emphasis on advanced topics not covered in ECS152A/EEC173A or ECS152B such as wireless networks, multimedia networking, network simulation, performance analysis, and traffic modeling. In addition, it has an extensive lab component, which involves Internet measurement, simulations or prototyping.

Instructors: C. Chuah, D. Ghosal, X. Liu, P. Mohapatra, and B. Mukherjee

History: Reviewed by D. Ghosal (2012.10.26): Changed the title; updated and reorganized the course content; updated readings list; updated instructor list.  Prior version by C. Chuah (May 2004).

Outcomes

1

 

an ability to apply knowledge of mathematics, science, computing, and engineering

2

X

an ability to design and conduct experiments, as well as to analyze and interpret data

3

X

an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability

4

X

an ability to function on multi-disciplinary teams

5

 

an ability to identify, formulate, and solve computer science and engineering problems  and define the computing requirements appropriate to their solutions

6

 

an understanding of professional, ethical, legal, security and social issues and responsibilities

7

X

an ability to communicate effectively with a range of audiences

8

X

the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context

9

 

a recognition of the need for, and an ability to engage in life-long learning

10

 

knowledge of contemporary issues

11

X

an ability to use current techniques, skills, and tools necessary for computing and engineering practice

12

 

an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices

13

X

an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity

border