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.
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.
Course Videos (in french, ©Philippe Janson)
(All video clips below are in ppsx format. Please click here for video clips in mp4 format.)
|Week 1: Introductory lecture: Clip 1 – Clip 2 – Clip 3|
|Module 1: Computation||Module 2: Information and Communication||Module 3: Systems|
Sample Exercises (in french)
(All exercises are in .pdf format)
Week 1: Introductory lecture
Module 1: Computation
Week 2: Basic principles
Week 3: Conception of algorithms
Week 4: Computability
Week 5: Representation of information
Module 2: Information and Communication
Week 6: Signal sampling and filtering
Week 7: Signal reconstruction
Week 8: Entropy
Week 9: Data compression
Module 3: Systems
Week 10: Processors
Week 11: Memory hierarchy
Week 12: File systems
Week 13: Networks
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.