Information, Computation and Communication (ICC)

Course description

This course on Information, Computation and Communication (ICC) was introduced in September 2013. It provides an introduction to computer and communication sciences for all first year students at EPFL (except those in architecture).

After the first introductory lecture, the course is divided into three modules:

1. Computation
Which problems are solvable? Which problems are efficiently solvable? And how? In this module, students learn the basic principles of algorithms and how to evaluate their complexity. An introduction to Turing’s computability theory is presented.
2. Information and Communication
How do you convert physical signals into sequences of 0’s and 1’s, and reciprocally? In this module, students learn the basic principles of signal processing, data compression, and error correction, with Shannon’s entropy as a key ingredient.
3. Systems
The third module exposes students to how a computer actually works. In particular, Von Neumann’s processor architecture is presented. And the course concludes with a final lecture on security.
Pragmatics

At a practical level, this course has a coefficient 3 in first year, with 2 hours of lectures and 1 hour of exercises per week. The exercises and exams are on paper. The students also have the opportunity to implement ICC concepts in the first-year programming courses, which are taught concurrently.

Textbook (in french)

You can find more informations as well as the exercices’ solution here: https://archiveweb.epfl.ch/decouvrir-le-numerique.epfl.ch/

Videos

Course Videos (in french, ©Philippe Janson)

(All video clips below are in ppsx format. Please click here for video clips in mp4 format.)

Module 1: Computation

Clip 1 – Clip 2 – Clip 3

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5– Clip 6 – Clip 7

Clip 1 – Clip 2 – Clip 3 – Clip 4– Clip 5 – Clip 6 – Clip 7

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6

 

Module 2: Information and Communication

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6

Clip 1 – Clip 2 – Clip 3 – Clip 4– Clip 5

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5

Clip 1 – Clip 2 – Clip 3 – Clip 4

 

Module 3 : Systems

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6 – Clip 7 – Clip 8

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6 – Clip 7 – Clip 8 – Clip 9

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6– Clip 7 – Clip 8 – Clip 9 – Clip 10

Clip 1 – Clip 2 – Clip 3 – Clip 4 – Clip 5 – Clip 6 – Clip 7 – Clip 8 – Clip 9

Exercices

Sample Exercises (in french)

(All exercises are in .pdf format)

Week 10: Processors

Week 11: Memory hierarchy

Week 12: File systems

Week 13: Networks

 

https://progmaph.epfl.ch/icc-prog.php

Course Evolution (Sept. 2018+)

Starting in September 2018, the ICC course will be merged with the concurrent programming courses, becoming a course with coefficient 6 in first year (with 3 hour of lectures and 3 hours of exercises/practice per week). The material presented in ICC will be coordinated with the programming instruction.The programming languages for this course will vary by section, in order to accommodate the needs of each field.