Course Description

An introduction to several fundamental ideas in electrical engineering and computer science, using digital communication systems as the vehicle. The three parts of the course—bits, signals, and packets—cover three corresponding layers of abstraction that form the basis of communication systems like the Internet.

The …

An introduction to several fundamental ideas in electrical engineering and computer science, using digital communication systems as the vehicle. The three parts of the course—bits, signals, and packets—cover three corresponding layers of abstraction that form the basis of communication systems like the Internet.

The course teaches ideas that are useful in other parts of EECS: abstraction, probabilistic analysis, superposition, time and frequency-domain representations, system design principles and trade-offs, and centralized and distributed algorithms. The course emphasizes connections between theoretical concepts and practice using programming tasks and some experiments with real-world communication channels.

Learning Resource Types
Problem Sets
Exams
Lecture Notes
Online Textbook
Lecture Videos
Artist's depiction of the Cassini spacecraft, with Saturn in the foreground and a dark blue, starry background.
Phoning home using a K=15, rate=1/6 convolutional code. See Lecture 6 for more information. (Image in the public domain. Source: NASA.)