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.

Related Programming Exercises (in french)

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.