Electrical Engineering 122 — Introduction to Communication Networks (4 Units)

Course Overview


This course focuses on the fundamentals of the wired and wireless communication networks, and NOT their operational details. The class covers both the foundational principles for architecting these networks as well as the key analytic techniques essential for both designing and analyzing them. Think of it as CS168 with less programming and more math/theory. The course also requires a Grad-style final project. Groups of 2-3 people will be responsible for reading recent research papers in the field of networking and completing their own original work in the field. This culminates in a couple of Poster Board sessions at the end of the semester. Each group is required to present their work in one of these sessions and also provide an extended abstract of 2-3 pages.


  • CS 70

Topics Covered

  • Graph Theory
  • Queueing Networks
  • Optimization
  • Markov Chains
  • Switch Design
  • TCP/IP Networks
  • LTE/LTE Advanced
  • Wi-Fi
  • Software Defined Networks (SDN)
  • Network Function Virtualization (NFV)
  • Internet-of-Things (IoT)


Course Work

4 problem sets, 3 In-Class Quizzes, and 1 Final Research Project

Time Commitment

3 hour of lectures, 1 hour of discussion per week. Each problem set takes about 5-6 hours to complete. The Final Research Project can take as much or as little time as you want, some groups will finish in 20 hours and some groups can spend 80+ hours on it if they want.

Choosing the Course

This course shares A LOT of material with CS168, but takes a different perspective on it. Different perspectives can be a really valuable thing when learning the thing that you’re going to build a career around, but for the put-upon undergrad trying to figure out how to best allocate 4 units of time, it’s probably not worth it to do both.

When to take

After taking CS61A, CS61B, Math 53, Math 54, and CS 70 so probably sophomore or junior year. Taking CS70/170 beforehand will provide a good basis for the graphs and probability sections of the course. CS 70 is a prerequisite, but CS 170 is not required.

What's next?

  • EE126
  • CS161
  • CS162
  • CS168?

Usefulness for Research or Internships

It helps if the internships or jobs you are considering involve networking and networking protocols, such as those with Cisco Systems and with ResComp.

As with jobs and internships, the class gives you an introduction to basic networking protocols, which can only help with OS and networking research, for example.

Additional Comments/Tips

Try to figure out your project group early in the semester, and make sure to work on your project early and often!

Last Updated: Summer 2020, prerequisites updated Spring 2022