Information, calcul, communication
Section outline
-
Fiche de cours
Programmation
- Cours : les lundis de 15h15 à 16h00, en salle CM 2
(Streaming non interactif : l’enregistrement sera disponible au plus tard le lendemain) - Exercices : les lundis de 16h15 à 18h00, en salles CO 020, CO 021 et CO 023
- Assistant doctorant responsable de la partie programmation :
Palak (palak.palak@epfl.ch)
Théorie
- Cours : les vendredis de 14h15 à 16h00, en salle CE 12
-
Changement de salle exceptionnel le 13 mars 2026 - SALLE ELA 1
- Changement de salle exceptionnel le 1 mai 2026 - SALLE ELA 1
-
- Exercices : les vendredis de 16h15 à 17h00, en salle INF 1 et INF 119
- Assistant doctorant responsable de la partie théorie :
Abdellah El Mrini (abdellah.elmrini@epfl.ch)
Enseignant :
Rafael Pires (rafael.pires@epfl.ch)Assistant·e·s étudiant·e·s :
- Malak Boulahfa (malak.boulahfa@epfl.ch)
- Majd El Blidi (majd.elblidi@epfl.ch)
- Andrew Hajj Assaf (andrew.hajjassaf@epfl.ch)
- Hedi Kharouf (hedi.kharouf@epfl.ch)
- Luc-Faustin Munongo Kazembe (luc-faustin.munongokazembe@epfl.ch)
- Corentin Sébastien Rouault (corentin.rouault@epfl.ch)
- Lina Sadgal (lina.sadgal@epfl.ch)
- Omar Zakariya (omar.zakariya@epfl.ch)
Évaluation :
CALENDRIER DES SÉANCES - CS-119(k) - SPRING 25-26
Lundi: Programmation (Cours 15-16h, Exercices 16-18h) | Vendredi: Théorie (Cours 14-16h, Exercices 16-17h)
Sem. Date Cours Lundi Exercices Lundi Date Cours Vendredi Exercices Vendredi 1 16 fév Variables, types, arithmétique, print() Exercices intro 20 fév Introduction; Algorithmes: bases Lire/écrire algorithmes 2 23 fév Fonctions, slicing, conditions, boucles, range() Exercices boucles 27 fév Complexité temporelle; Grand Theta Complexité; Algorithmes 3 2 mars Boucles (suite); Fonctions simples Exercices fonctions 6 mars Récursivité Algorithmes récursifs 4 9 mars Listes Exercices listes 13 mars Algo glouton; Prog. dynamique; Calculabilité
CHANGEMENT DE SALLE ELA 1Exercices récursivité 5 16 mars Objets mutables/immuables; Modules; Sets Exercices sets 20 mars P/NP; Sac à dos; Voyageur de commerce Identifier P/NP 6 23 mars Dictionnaires; Dataclasses Exercices dict 27 mars Représentation binaire (entiers/réels) Exercices binaire 7 30 mars Fichiers texte; Chaînes de caractères Exercices fichiers 3 avril Vendredi saint - Férié 6 avril VACANCES DE PÂQUES 8 13 avril MIDTERM 15:15-17:15 dans les salles CE 13 et CE 14 17 avril Portes logiques; Transistors; RAM Exercices portes logiques 9 20 avril Manipulation d'images; Intro miniprojet Miniprojet 24 avril Signaux; Filtrage; Echantillonnage Bande passante; Filtres 10 27 avril Images; Mini-projet Miniprojet 1 mai Théorème échantillonnage; Sous-échantillonnage
CHANGEMENT DE SALLE ELA 1Interpolation; Battement 11 4 mai List comprehensions; Lambdas Exercices lambdas 8 mai Entropie; Shannon-Fano; Huffman Compression 12 11 mai Threads; Locks; Données partagées Exercices threads 15 mai Cryptographie (clé secrète/publique) Diffie-Hellman; Nombres premiers 13 18 mai Révisions Anciens examens 22 mai Réseaux: TCP (AIMD); IP (routage) AIMD; Exercices routage 14 25 mai Pentecôte - Férié 29 mai Révisions Anciens examens - Cours : les lundis de 15h15 à 16h00, en salle CM 2
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Généralités
- Déclaration de variables; types de données
- Arithmétique de base et conversions entre types
- Appel de fonctions/méthodes prédéfinies et de print()
Cours:
-
Introduction et logistique
- Algorithmes: ingrédients de base
Exercices:
- Lire et écrire des algorithmes
-
Utilisez la machine IC-CO-IN-SC-INJ-2026-Spring (le VM IC-CO-IN-SC-MA-2026-Spring est identique et devraient fonctionner aussi, mais pas les autres).
-
Si vous travaillez sur une machine virtuelle de l'EPFL
-
Si vous travaillez sur votre propre machine
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Syntaxe: fonctions, méthodes, slicing
- Conditions
- Boucles
- La fonction range()
Cours:
- Algorithmes: complexité temporelle
- Notation "Grand Theta"
Exercices:
- Complexité temporelle
- Ecriture d'algorithmes
-
Désolé, mais Zoom a enregistré comme ça. Je rajoute l’enregistrement de l’année passée si jamais.
- Syntaxe: fonctions, méthodes, slicing
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Boucles, suite
- Déclaration et appel de fonctions simples
Cours:
- Récursivité
Exercices:
- Lire et écrire des algorithmes récursifs
- Boucles, suite
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
Attention : Changement de salle exceptionnel ELA 1
- Listes
Cours:
- Rendu de pièces de monnaie: algorithme
glouton et programmation dynamique - Introduction à la théorie de la calculabilité
Exercices:
- Divers exercices sur la récursivité
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Objets immuables, objets modifiables et références
- Imports, modules
- Sets
Cours:
- Classes de complexité des problèmes
- Le problème du sac à dos
- Le problème du voyageur de commerce
Exercices:
- Identifier quels problèmes font partie de P/NP
- Objets immuables, objets modifiables et références
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Révisions: Listes, sets
- Dictionnaires
- Classes simples (dataclasses)
Cours:
- Représentation binaire des nombres entiers
- Représentation binaire des nombres réels
Exercices:
- Nombres de bits nécessaires
- Utilisation de la représentation binaire
- Révisions: Listes, sets
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
03.04.2026 Congé (Vendredi saint)
- Lecture et écriture de fichiers texte
- Opération sur des chaînes de caractères
-
Monday: Programming in Python
06.04.2026 Congé (Lundi de Pâques) 10.04.2026 Congé
Fin avril 2025: Publication de l'horaire des examens -
-
Première vidéo (en anglais) de Ben Eater sur le fonctionnement d'une diode, le plus simple des semi-conducteurs
-
Deuxième vidéo (toujours en anglais) de Ben Eater sur le fonctionnement d'un transistor
-
Monday: Programming in Python
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Manipulation d’images
- Introduction au miniprojet
Cours:
- Signaux: fréquences et bande passante
- Filtrage de signaux
- Echantillonnage de signaux
- Effet stroboscopique
Exercices:
- Bande passante
- Signaux périodiques et apériodiques
- Filtre à moyenne mobile
-
Group registration (on Moodle):
– Registration deadline: before Monday, April 27, 2026, 11:59 pm
– The mini-project is to be done in groups of two or individually.
– Even students working alone must be in a group
– Submission deadline: May 22, 2026 at 11:59 PM
– Submit early — you can make as many submissions as you like!
– Two files to submit (on Moodle): miniproject_a.py and miniproject_b.py
– Only one person per group needs to submit the project
Important:
– Do not modify the signatures of the functions you are required to implement!
– If your code depends on functions you have added or modified, these functions must be
present in miniproject_a.py or miniproject_b.py.
• Grading: only your functions to complete are evaluated, not the main.
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Manipulation d’images
- Mini-projet
Cours:
- Reconstruction de signaux
- Théorème d'échantillonnage
- Sous-échantillonnage
Exercices:
- Filtrer avant d'échantillonner
- Formule d'interpolation
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- MP2 partie 2
- Compréhensions de liste
- Fonctions d’ordre supérieur
- Lambdas
Cours:
- Entropie
- Algorithmes de Shannon-Fano et Huffman
- Théorème de Shannon
- Compression avec pertes
Exercices:
- Calcus d'entropie
- Comparaison d'entropies
- Algorithmes de compression
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Introduction à la programmation multitâche
- Les threads en Python
- Le problème des données partagées
- Locks
Cours:
- Cryptographie à clé secrète
- Cryptographie à clé publique
Exercices:
- Protocoles de Diffie-Hellman
- Recherche de grands nombres premiers
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Cryptographie en pratique
- Révisions
- Examens des années précédentes
Cours:
- Réseaux: Protocole TCP (algorithme AIMD)
-
Réseaux: Protocole IP (algorithme BFS et routage)
Exercices:
- Algorithme AIMD et variantes
- Exercices de routage
-
Lundi: Programmation
Cours: 15-16h, Exercices: 16-18h
Vendredi: Théorie
Cours: 14-16h, Exercices: 16-17h
- Bases réseau
- Révisions
- Examens des années précédentes
-
- Date et heure : Vendredi 26 juin 2026, de 09h15 à 12h15 (temps supplémentaire pour les étudiants avec aménagements).
- Salles : CE 1 1, CE 1 3
- Le placement précis sera affiché sur la porte de la salle. En plus, nous vous le communiquerons quelques jours avant l'examen.
- Contenu : L'ensemble du cours, y compris le projet. La partie programmation à partir de la semaine 8 ne fera pas l'objet de questions ouvertes.
- Format :
- QCM, 45-55 % des points (une ou plusieurs réponses correctes possibles ; points négatifs possibles au sein d'une question, minimum 0 par question, sans report sur les autres questions)
- Questions type vrai/faux, 15-25 % des points (points négatifs pour les mauvaises réponses, minimum 0 pour cette partie)
- Questions ouvertes, 20-30 % des points
- Durée : 180 minutes
- Poids dans la note finale : 65 %
- Matériel autorisé : Deux pages A4 recto-verso (soit quatre faces au total), manuscrites ou imprimées (la documentation des fonctions non vues en cours sera fournie si nécessaire). Aucun dispositif de magnification (loupe, etc.) autorisé.
- Les étudiants souhaitant disposer d'un supplément de traduction anglaise des énoncés doivent s'inscrire via ce formulaire : https://moodle.epfl.ch/mod/questionnaire/view.php?id=1375684
- Aucun appareil électronique autorisé (y compris calculatrices et montres connectées).
- Pensez à prendre votre Camipro ou un document d'identité officiel délivré par un gouvernement, un stylo noir ou bleu foncé ainsi qu'un correcteur blanc. Les réponses au crayon peuvent ne pas être visibles après numérisation et ne seront pas considérées.
- Seules les réponses inscrites dans le cahier agrafé en français seront considérées ; les réponses sur le supplément de traduction anglaise, les brouillons ou feuilles volantes ne seront pas pris en compte.


