Section outline

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

  • Current week
    • Partie théorique: 

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

    • ICC-T Solutions 2 File
      Available from 19 September 2026, 8:00 PM

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

    • ICC-P-Exercise-NumbersOperatorsBooleans (Solution) File
      Available from 18 September 2026, 12:00 PM
    • Partie théorique: 

      • Tri par fusion
      • Rendu de pièces de monnaie:
        1. algorithme glouton
        2. programmation dynamique et mémoïsation
    • ICC-T Solutions 4 File
      Available from 3 October 2026, 8:00 PM


    • Software engineering

      Programming:

      • Loops, Part I
        • while loops
        • for loops
        • infinite loops
        • function range( )
        • function len( )
      • Examples
        • printing a sequence of numbers from 0 to n-1
        • n!
        • counting digits of an integer

    • ICC-P-Solution-Loops Folder
      Available from 3 October 2026
    • Partie théorique:

      • La théorie de la calculabilité (problème de l'arrêt, Cantor)
      • Classes de complexité des problèmes (P/NP)
    • ICC-T Solutions 5 File
      Available from 10 October 2026, 8:00 PM

    • Software development

      Programming:

      • Lists
        • List slicing
        • List comprehension
      • Function len( )

    • ICC-P-Solution-Lists Folder
      Available from 10 October 2026
    • Partie théorique: 

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

    • ICC-T Solutions 6 File
      Available from 17 October 2026, 8:00 PM

    • 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 Folder
      Available from 17 October 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 File PY
      Available from 17 October 2026