Résumé de section

  • Ce cours s’adresse aux étudiant.e.s en génie civil, sciences de l’environnement et science et génie des matériaux de première année à l’EPFL. Le premier cours aura lieu le vendredi 11 septembre 2026 à /!\ 8h15 /!\, en salles CE 1 3 et CE 1 106 (retransmission).
     
    Enseignant·e·s: Mirjana Stojilović (partie programmation) et Olivier Lévêque (partie théorique)
     
    Assistant·e·s:
    • Partie programmation:
      Assistante principale: Ana Zarić
      (ana.zaric@epfl.ch)
      BC 0 7: Solomée Asnake, Raid Taha
      BC 0 8: Stephan Ferrieri, Lina Hmamouchi

      CM 1 103:  Alexandre Marichez-Liew, Lilya Ouarrach
      CM 1 110: Yassine El Harti
      CM 1 112: Ghaith Skhiri, Alexia Stoian
      INF 2 (salle sans ordinateurs): Iskandar Ghobril, Mohamed Nouira
    • Partie théorique:
      AAC 1 37: Martina Delcroix, Cleo Motta Pacheco, Oscar Kuder, Loris Verga, Célia Coste
      AAC 1 32: Rachel Meng, Timothée Beaufils, Sara El Harti
      CO 0 15: Solomée Asnake, Mathis Laville, Margaux Fustinoni
      CO 0 16: Yorick Richard
      , Adèle Linette
      CO 0 17: Thomas Capol, Ali Taibi

    Horaires:
    • Partie programmation:
      • séance d'exercices les vendredis de 10h15 à 12h00:
      •    en salles BC07-08, CM 1 103, CM 1 110, CM 1 112 et INF 2
    • Partie théorique:
                cours les vendredis de 13h15 à 15h00:
    Ressources pour le cours (partie théorique):
     
    Calcul de votre note finale:
    • midterm du 6 novembre: 40% (info détaillées: voir plus bas en semaine 8)
    • projet de programmation: 15%
    • examen final du 18 décembre: 40% (info détaillées: voir plus bas en semaine 14)
    • quiz sur la sécurité informatique (à faire sur Moodle d'ici le dimanche 1er novembre 2026):  5%
    • Partie théorique:

      • Algorithmes: introduction générale
      • Ingrédients de base des algorithmes

    • Software development


      Programming:
      • About the course
      • Python interactive interpreter
      • Exercises:
        • Setting up the working environment for Python
        • First contact with the Unix environment

      Image (c) DETHAl / AdobeStock

    • This lecture provides information about the organization of the course throughout the semester.

    • Let us warm up by interacting with Python interpreter.
      Online reading: Link

    • Connectez-vous sur l’infrastructure des postes de travail virtuels. Choisissez une des machines virtuelles IC-CO-IN-SC-INJ-2026-Fall  (et pas une autre).

    • The UbuntuIntro exercise contains several practical concepts regarding using a terminal in an operating system such as Ubuntu. We recommend that you do it to see that you don't need a visual editor to interact with the operating system.

      Note: The topic is not directly related to Python programming and will not be on the exam. Despite that, you should not ignore it, as it presents the basics necessary for anyone using a Linux operating system.
    • Fichiers pour la configuration sur les machines virtuelles de l'EPFL, à télécharger et utiliser selon les instructions du PDF

    • Ci-dessous, les fichiers de configuration pour vos propres machines, à télécharger et à utiliser selon les instructions du PDF.

    • Partie théorique: 

      • Algorithmes et sous-algorithmes
      • Complexité temporelle d'un algorithme


    • Software engineeringProgramming: 

      • Variables and types
      • Numbers, Booleans
      • Operators and their precedence

    • Try solving the exercises in the Python interpreter without using if-elif-else constructs (for those who know how to use them in Python). You can also write all commands in one .py file (a Python script) and run it if that suits you better. We will share the solution in one file so you can easily change and rerun it.

      To run, press the "play" button on the top right corner of your Visual Studio Code editor. Do not forget to activate the environment that you installed last week! :-)

      Next week, we will study if-elif-else constructs, the preferred way to solve some of the problems in this exercise set.

    • Read the lecture slides ICC-P-Lecture02-NumbersBooleans, starting from Slide 21 and continuing to the end.

      Pay particular attention to the different assignment operators. Try coding the examples provided in the slides, then modify the operators and observe how the results change.

      Next, review the table showing operator precedence. Work through the given examples first with pen and paper, and then verify your answers by running the corresponding Python code.

  • Semaine actuelle
    • Partie théorique: 

      • Garanties d'approximation pour les problèmes NP-difficiles
      • Utilisation du hasard en algorithmique

    • ICC-T Solutions 6 Fichier
      Disponible à partir du 17 octobre 2026, 20:00

    • Software developmentProgramming:

      • enumerate()
      • Nested loops
      • Early exit
        • break
      • Skip iteration
        • continue
      • Nested lists
        • Matrices
        • Nested list comprehension

    • Given the limited time during the exercise session, try solving the first two exercises only. The last one can be left as homework.

    • ICC-P-Solution-NestedLoops Dossier
      Disponible à partir du 17 octobre 2026
    • Given the limited time during the exercise session, try solving the first five exercises only.The last one can be left as homework.

    • ICC-P-Solution-NestedLists Fichier PY
      Disponible à partir du 17 octobre 2026
    • Partie théorique:

      • Représentation de l'information:
        - représentation binaire des nombres entiers
        - représentation binaire des nombres réels
    • ICC-T Solutions 7 Fichier
      Disponible à partir du 30 octobre 2026, 20:00

    • Software developmentProgramming:

      • Functions

  • Le midterm aura lieu le 6 novembre de 9h00 à 12h00.

    L'examen se déroulera dans les salles CM 1 120, AAC 0 14, AAC 0 20, BC 01, CM 1 105, INF 1 et INF 119. Merci de consulter le plan de répartition en pièce jointe à cette annonce pour connaître la salle qui vous est attribuée.

    Attention : les étudiants bénéficiant d'un aménagement doivent se rendre en salle CM 1 120 pour commencer l'examen à 8h00.

    L'examen porte sur l'ensemble des notions abordées en cours et en exercices :

    • Théorie : jusqu'à la semaine 7 incluse.
    • Programmation : jusqu'à la semaine 6 incluse, y compris les boucles et les listes, mais sans les fonctions.

    Il compte pour 40% de la note finale, avec 25 points pour la théorie et 15 points pour la programmation.

    Pour la partie algorithmique, vous pouvez utiliser les algorithmes vus en cours sans les réécrire, à condition de bien préciser leurs données d'entrée et de sortie.

    Vous pouvez apporter :

    • Une feuille A4 recto verso de notes, manuscrites, rédigées sur tablette avec un stylet puis imprimées, ou dactylographiées. Les captures d'écran d'algorithmes sont également autorisées. Nous vous conseillons de préparer cette feuille vous-même : c'est un bon moyen de réviser le cours et les exercices !
    • Une calculatrice simple, par exemple de type TI-30 Eco RS ou plus élémentaire.
    • Des feuilles de brouillon vierges.

    Aucun autre appareil électronique n'est autorisé.

    Pensez à prendre votre carte CAMIPRO : afin de préserver l'anonymat des copies, seul votre numéro SCIPER devra figurer sur la première page de l'examen.

    Le cours et les exercices de théorie du vendredi 6 novembre après-midi auront lieu comme d'habitude.

    • Partie théorique:

      • Circuits logiques et transistors
    • Première vidéo (optionnelle) de Ben Eater sur le fonctionnement d'une diode, le plus simple des semi-conducteurs

    • Seconde vidéo (optionnelle) de Ben Eater sur le fonctionnement d'un transistor

    • ICC-T Solutions 8 Fichier
      Disponible à partir du 7 novembre 2026, 20:00