ENGR76 Winter 2026 Course Material
This page contains the materials I developed for ENGR 76 in Winter 2026, including lecture slides, notes and practice problems.
Course Information
This course introduces undergraduate students to the principles and techniques underlying modern information and communication systems. Topics include source coding, frequency-domain representations, and error-correcting codes.
There are no substantial mathematical prerequisites; relevant tools, including probability and Fourier methods, are developed from first principles throughout the course.
The course is organized around two major projects divided into weekly assignments. In the first, students develop an image compressor using Huffman coding and transform methods and in the second, students communicate data through a noisy physical medium and develop strategies for reliable transmission using coding and signal-processing techniques.
Lecture Outline and Slides
- Lecture 1: Introduction
[slides] - Lecture 2: Source Coding I: Introduction and Prefix-Free Codes
[slides] - Lecture 3: Source Coding II: Probability Review, Huffman Coding, and Block Coding
[slides] - Lecture 4: Source Coding III: Entropy and Fundamental Limits of Compression
[slides] - Lecture 5: Dependent Sources, Signals and Frequency Representation
[slides] [Rotating Angle Demo] - Lecture 6: Fourier Series and Fourier Cosine Series
[slides] [Fourier Series Demo] - Lecture 7: Discrete Cosine Transform and 2D-DCT
[slides] [Image Filtering Demo] - Lecture 8: Image Compression and Discrete Fourier Transform
[slides] - Lecture 9: Sampling
[slides] - Lecture 10: Interpolation and Aliasing
[slides] [Reconstruction Demo] [Stroboscopic Effect Demo] - Lecture 11: Digital Communication and On-Off Keying
[slides] - Lecture 12: Modulation and Demodulation
[slides] - Lecture 13: Error Correcting Codes
[slides] - Lecture 14: Hamming Codes and Hamming Bound
[slides] - Lecture 15: Convolutional Codes: Encoding and Viterbi Decoding
[slides] [FSM Encoding Demo] [Viterbi Decoding Demo] - Lecture 16: Binary Symmetric Channel, Capacity, and Conclusion
[slides]
Lecture Notes
- Source Coding and Lossless Compression
- Frequency Domain Representation of Signals
- Sampling, Interpolation, and Digital Representation of Signals
- Digital Communication, Modulation, and Demodulation
- Error Correcting Codes
Practice Problems
A compiled set of practice problems and solutions organized by week.