Information, calcul, communication

CS-119(k)

Media

This file is part of the content downloaded from Information, calcul, communication.
Course summary

Général

ICC theory book   Learning Python book

Programmation

  • Cours : les lundis de 15h15 à 16h00, en salle CM 2 (le 31.03 exceptionnellement sur Zoom, avec diffusion en salle CM 2)
    (Streaming non interactif : l’enregistrement sera disponible au plus tard le lendemain matin.)
  • Exercices : les lundis de 16h15 à 18h00, en salles CO 020, CO 021, CO 023
  • Assistant doctorant responsable de la partie programmation :
    Clément Burgelin (clement.burgelin@epfl.ch)

Théorie

  • Cours : les vendredis de 14h15 à 16h00, en salle CE 12 (le 14.03, exceptionnellement en salle CM 1 4, le 09.05 exceptionnellement en salle ELA 1)
    (Streaming non interactif : l’enregistrement sera disponible au plus tard le lendemain matin.)
  • Exercices : les vendredis de 16h15 à 17h15, en salles 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 doctorant principal (Head TA) :
Sami Abuzakuk (sami.abuzakuk@epfl.ch)

Assistant·e·s étudiant·e·s :
Andrew Hajj Assaf (andrew.hajjassaf@epfl.ch),
Roméo Balthazar Bedague (romeo.bedague@epfl.ch),
Idriss Benjelloun (idriss.benjelloun@epfl.ch),
Ethan Rafaël Boren ethan.boren@epfl.ch),
Adam Ait Bousselham (adam.aitbousselham@epfl.ch),
Yshai Neal Dinée-Baumgarten (yshai.dinee-baumgarten@epfl.ch),
Mohamed Amine Hmidi (mohamed.hmidi@epfl.ch),
Nagyung Kim (nagyung.kim@epfl.ch),
Clémence Pauline Charlotte Le Bourgeois (clemence.lebourgeois@epfl.ch),
Zoé Miyuki Maeda (zoe.maeda@epfl.ch),
Marc-André Mauron (marc-andre.mauron@epfl.ch),
Syrine Noamen (syrine.noamen@epfl.ch),
Johanna Yara Jácome Noia Nuding (johanna.jacomenoianuding@epfl.ch),
Mahlia Roxane Merville-Hipeau (mahlia.merville-hipeau@epfl.ch),
Lea Sucikova (lea.sucikova@epfl.ch),
Arthur Norbert J. Pollet (arthur.pollet@epfl.ch),
Tom Valentin Villatte (tom.villatte@epfl.ch).

Évaluation :

  • Midterm (20 %)
  • Mini-projet (10 %)
  • Quiz sur la sécurité informatique (5 %)
  • Examen final (65 %) – 27.06.2025 de 09h15 à 12h15 (PO 01)

FINAL – Informations importantes

  • Date et heure : Vendredi 27 juin 2025, de 09h15 à 12h15
    (temps supplémentaire prévu pour les étudiant·e·s avec aménagements)

  • Salle :

    • PO 01

    • Étudiant·e·s avec un aménagement spécial : également en salle PO 01

    • Le placement précis sera affiché sur la porte de la salle

  • Contenu :
    Majoritairement axé sur la partie théorie, avec quelques questions liées à la programmation.
    Le contenu portera sur les semaines 1 à 14.

  • Format :

    • QCM (choix multiples ou unique selon l’énoncé). Les points négatifs éventuels dans une question (par exemple si une mauvaise case est cochée) restent internes à cette question et n’impactent pas le reste du score.

    • Vrai/Faux :  dans cette section, une réponse incorrecte annule une réponse correcte. Il n’y a aucune pénalité si la case est laissée vide. Le minimum de points pour cette section est zéro.

    • Quelques questions ouvertes

  • Durée : 180 minutes

  • Poids dans la note finale : 65 %

  • Feuille de notes autorisée :
    Une page A4 recto-verso manuscrite ou imprimée (pas de collage, pas d’agrafes, pas deux feuilles distinctes).
    Aucun dispositif grossissant (loupe, etc.) n’est autorisé durant l’épreuve.

  • La documentation des fonctions non vues en cours, ainsi que les identités trigonométriques, seront fournies si nécessaire.

  • Aucun appareil électronique autorisé (calculatrices, montres connectées, téléphones, etc.)

  • N’oubliez pas d’apporter :

    • Votre Camipro

    • Un stylo noir ou bleu foncé

    • Un correcteur blanc

    • Une boisson pour rester hydraté·e pendant l’examen


Semaine 1 (17-21 février)

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

Semaine 2 (24-28 février)

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

Semaine 3 (3-7 mars)

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

Semaine 4 (10-14 mars)

Lundi: Programmation

Cours:  15-16h,  Exercices:  16-18h

Vendredi: Théorie

Cours:  14-16h,  Exercices:  16-17h

Attention : Changement de salle exceptionnel CM14

  • 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é

Semaine 5 (17-21 mars)

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

Semaine 6 (24-28 mars)

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



Semaine 7 (31 mars - 4 avril)

Lundi: Programmation

Cours:  15-16h,  Exercices:  16-18h

Attention : Cours donné sur Zoom, avec diffusion en salle

Vendredi: Théorie

Cours:  14-16h,  Exercices:  16-17h

  • Lecture et écriture de fichiers texte
  • Opération sur des chaînes de caractères


Cours: 

  • Portes logiques et opérations élémentaires
  • Transistors et mémoire vive

Exercices:

  • Exercices sur les portes logiques et transistors



Semaine 8 (7-11 avril)

Lundi: Programmation

Cours:  15-16h,  Exercices:  16-18h

11.04.2025 MIDTERM

14:15 - 16:15 

 Salles CE12, INF119, INM202

  • Révisions




Semaine 9 (14-18 avril)

Monday: Programming in Python

Lundi: Programmation

Cours:  15-16h,  Exercices:  16-18h

18.04.2025 Congé (Vendredi saint)


  • Manipulation d’images
  • Introduction au miniprojet



Pâques (21-25 avril)

Monday: Programming in Python

21.04.2025 Congé (Lundi de Pâques)

25.04.2025 Congé



Fin avril 2025: Publication de l'horaire des examens

Examen 27.06.2025 de 09h15 à 12h15 (PO 01)



Semaine 10 (28 avril - 2 mai)

Lundi: Programmation

Cours:  15-16h,  Exercices:  16-18h

Vendredi: Théorie

Cours:  14-16h,  Exercices:  16-17h

  • Manipulation d’images
  • Mini-projet

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



Semaine 11 (5-9 mai)

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:                                                                        

  • Reconstruction de signaux
  • Théorème d'échantillonnage
  • Sous-échantillonnage

Exercices: 

  • Filtrer avant d'échantillonner
  • Phénomène de battement
  • Formule d'interpolation



Semaine 12 (12-16 mai)

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:

  • 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


Semaine 13 (19-23 mai)

Lundi: Programmation

Cours:  15-16h,  Exercices:  16-18h

Vendredi: Théorie

Cours:  14-16h,  Exercices:  16-17h

  • Révisions
  • Examens des années précédentes

Cours:

  • Cryptographie à clé secrète
  • Cryptographie à clé publique

Exercices: 

  • Protocoles de Diffie-Hellman et El-Gamal
  • Recherche de grands nombres premiers


Semaine 14 (26-30 mai)

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

Cours:

  • Réseaux: Protocole TCP (algorithme AIMD)
  • Réseaux: Protocole IP (algorithme BFS et routage)

Exercices: 

  • Algorithme AIMD et variantes
  • Exercices de routage



ICC-P Exam archive


Sensibilisation à la sécurité informatique


Anciens Examens