ICC Information - Calcul - Communication / Pratique: initiation à la programmation (en C++) / (MT + EL)
CS-119(c) Pratique
Media
ICC - Pratique: Programmation C++ pour étudiants de Microtechnique et Electricité
Lien vers le site moodle ICC-Théorie
Ronan Boulic EPFL-IIG2 assistants doctorants (TA) et 12 assistants-étudiants

Cours hybride le vendredi 8h15-9h en présentiel au CE6 ; classe inversée tirant parti du MOOC
- Affectation des Assistants-Etudiants et des Teaching Assistants (TA) [2025-26] (File)
- Votre affectation de salle pour les exercices théoriques et TP C++[2025-26] (File)
- Informations officielles, Q&A, Questions fréqu... (Text and media area)
- News forum (informations officielles envoyées par email) (Forum)
- Edstem Quick Start / Tutorial (File)
- FAQ: Clavier, backup, VPN, myNAS [05.09.2023] (File)
- Ressources: (Text and media area)
- MOOC de Coursera: "Initiation à la Programmation en C++" (URL)
- Comment obtenir le BOOC du MOOC gratuitement (URL)
- Table des priorités (et associativité) des opérateurs C++ (URL)
- Conventions de Programmation en C++ [Aout 2023] (File)
- C++ Bug checklist sem1 [29.09.2018] (File)
- Optionnel : videos sur la représentation de l'information (File)
- Optionnel : configuration de VisualStudio Code sur la VM [05.12.2023] (File)
- Optionnel : archive file containing setup.sh for Visual Studio Code (File)
- Présentation du cours, C++, MOOC, VM, Projet [12.09.25] (File)
- video du cours [2025-26] (URL)
- linux.pdf utile pour l'exercice5 de la Série 0 [2025-26] (File)
- Memento: principales commandes Linux [08.09.2025] (File)
- TP_s0: Se connecter, Communiquer, commandes LINUX , Backup, Logout... [08.09.2025] (File)
- TP_s0: corrigé [08.09.2025] (File)
MOOC semaine 1 / classe inversée sur les variables et expressions
- Classe inversée: rappels, complément "mémoire centrale" et étude de cas [2022-23] (File)
- video [2025_26] (URL)
- Code vu en classe inversée [20.09.2024] (File)
- fiche résumé 01 : variable (File)
- fiche résumé 02 : opérateurs (File)
- TP_s1: lien entre moodle, geany et le MOOC (File)
- Principales commandes et raccourcis de geany (File)
- MOOC tutoriel sem1 (File)
- MOOC serie sem1 (File)
- MOOC corrigé série sem1 (File)
- MOOC compléments sem1 (File)
MOOC semaine 2 / classe inversée sur les instructions if et switch / avec 6 à 7 quizzes selon temps disponible
- Classe inversée : instruction conditionnelle / avec quizz [26.09.2024] (File)
- video [2025_26] (URL)
- code des exemples vu en classe inversée [2025_26] (File)
- TP_s2 : avec complément sur l'estimation de la tolérance tau (File)
- MOOC tutoriel sem2 (File)
- MOOC série sem2 (File)
- MOOC corrigé sem2 (File)
- MOOC complément sem2: évaluation paresseuse / switch, case et break (File)
MOOC semaine 3 / classe inversée sur les instructions for et while ( + switch et opérateur ternaire )
- Fin de la classe inversée de la semaine précédente... (Text and media area)
- video switchTube sur switch et l'opérateur ternaire. [2025-26] (URL)
- Classe inversée : les boucles (avec quizz) [2023-24] (File)
- video MOOC3 [2025-26] (URL)
- code source utile pour le cours: lecture_entier.cc (File)
- code vu en classe inversée [2024_25] (File)
- fiche résumé 03: structures de contrôle (File)
- TP_s3 : boucles (File)
- TP_s3 : solution de la question additionnelle "suite et série" (File)
- MOOC série sem3 (File)
- MOOC corrigé sem3 (File)
- MOOC série supplément sem3 [pas nécessaire de faire le PGCD] (File)
- MOOC corrigé supplément sem3 (File)
MOOC semaine 4.1 / classe inversée sur les fonctions (1): portée, paramètres, conception d'une fonction
- fin du cours MOOC3 sur la portée des variablesla s... (Text and media area)
- video : fin de MOOC3 avec détail exemple sur le masquage [2025_26] (URL)
- classe inversée : PREMIERE PARTIE sur les fonctions, [2024-25] (File)
- video : Fonctions 1iere partie [2025-26] (URL)
- code utilisé en classe inversée (File)
- Fiche résumé 04: Fonction (File)
- TP_s4.1 (File)
- MOOC tutoriel sem4: seulement 4.1 (moyenne) (File)
- MOOC série sem4 ; seulement exercices 11,12,13 (File)
- MOOC corrigé sem4 (File)
- MOOC série supplément sem4: seulement "fonction simple" et "sapin" (File)
- MOOC corrigé supplément sem4 (File)
MOOC semaine 4.2 / classe inversée sur les fonctions (2): récursivité, surcharge, valeur par défaut, coût calcul
- fin du cours MOOC4.1 : présentation du concept de ... (Text and media area)
- Classe inversée : seconde partie sur les fonctions avec 2 quizz (dont récursivité) [16.10.2024] (File)
- video MOOC4.2 / suite et fin fonctions + Pile [2025-26] (URL)
- code vu en classe inversée [2024-25] (File)
- Fiche résumé 04: Fonction (File)
- TP s4.2 : évaluation de performance et concept de redirection pour le projet (File)
- TP_s4.2: solution (File)
- MOOC tutoriel sem4: 2ième partie (somme récursive) (File)
- MOOC série sem4 ; seulement exercice 14 (Fibonacci) (File)
- MOOC série supplément sem4: se concentrer sur "recherche dichotomique" (File)
Cours : MOOC semaine 5 / classe inversée sur la notion de vector
Exercices: pas d'exercices du fait de l'examen
Début du mini-projet: calendrier, donnée, démo
examen en contrôle continu le 31 octobre DE 14h15 A 16h45
Votre salle d'examen sera indiquée dans un fichier pdf ci-dessous le mercredi qui précède l'examen
Vous resterez à la même place pour les 2 composantes de l'examen.
- remarque1: Les examens théoriques et pratiques por... (Text and media area)
- Archive des anciens examens C++ de mi-semestre (Folder)
- Donnée du test C++ du 31 octobre 2025 (File)
- Solution du test C++ du 31 octobre 2025 (File)
- notes ICC : C++ et théorie / Total sur 44pts (File)
- --------------------------------------------------... (Text and media area)
- Conventions de programmation du cours [Aout 2023] (File)
- Documents projet: donnée V1.0 [31.10.2025], ressources (Folder)
- Slides présentation projet du vendredi 31 octobre 2025 (File)
- video de l'introduction sur le projet MagmaDecrypt (URL)
- video de la demo du projet dans le terminal [07.11.25] (URL)
- --------------------------------------------------... (Text and media area)
- Classe inversée MOOC5.1 avec questions Quizz (File)
- video MOOC4.2 2 exécutions de fonction récursives sur la VM [2025-26] (URL)
- video MOOC5 vector [2025-26] (URL)
- code vu en classe inversée [2024-25] (File)
- MOOC tutoriel sem5 (File)
- MOOC complément sem5: tableau à la C (File)
- Fiche résumé 05: comparaison array-vector [20.04.2021] (File)
- classe inversée: array et string , avec question quizz [2024_25] (File)
- video MOOC5 array et MOOC6.1 string [2025-26] (URL)
- Code vu en classe inversée (quizz array et chaine VERBOSE) [2024_25] (File)
- TP_s5 (File)
- MOOC série sem5: exercices 15, 16 et 17 (File)
- MOOC corrigé sem5 (File)
- MOOC série supplément sem5: seulement "Crible d'Ératosthène" (File)
- MOOC corrigé supplément sem5 (File)
MOOC semaine 6.2 / classe inversée sur la notion de structure (struct) + complément sur les opérateurs bit à bit
exercices: TP_s6.1
- Classe inversée: donnée vs information / struct / bitfield / opérateurs bit à bit ; avec les questions quizz (File)
- video struct et début des opérateurs bit-à-bit (URL)
- Tutoriel sur les opérateurs bit à bit (mise à jour 14.12.2022) (File)
- code pour l'exemple du tutoriel (File)
- MOOC tutoriel sem6 : introduction sur les struct (File)
- TP_s6.1 : exercices 18 et 16 + complément (File)
- TP_s6.1 : solution (File)
- MOOC série sem6: seulement exo 18 (File)
- MOOC corrigé sem6 (File)
- MOOC série supplément sem6: seulement exo 16 (File)
- MOOC corrigé supplément sem6 (File)
fin de l'illustration des opérateurs bit à bit avec 2 exemples
MOOC semaine 7.1 / classe inversée sur les pointeurs
exercices: TP_s6.2 sur les structures
- video fin exemples opérateurs bit-à-bit [2025-26] (URL)
- Classe inversée sur les pointeurs et références avec 2 quizzs à faire avant le prochain cours [2024_25] (File)
- video première partie sur les pointeurs [2025-26] (URL)
- code des exemples utilisés en classe inversée [2024_25] (File)
- TP_s6.2 (File)
- TP_s6.2 : solution (File)
- MOOC série sem6.2: seulement exos 19 et 20 (File)
- MOOC série6.2 exercice 20 : code source de l'initialisation (File)
- MOOC corrigé sem6 (File)
- MOOC série supplément sem6.2: seulement exo 17 (File)
- MOOC corrigé supplément sem6 (File)
MOOC semaine 7.2 : Suite sur les pointeurs
Exercices: TP_s7.1 et tutoriel sur VSCode avec son debugger (dévermineur)
- video fin de MOOC7.1: 2 quizzes sur les pointeurs (URL)
- classe inversée: slides avec quizz [2025_26] (File)
- video MOOC 7.2 [2025_26] (URL)
- code vu en classe inversée, avec code quizz (File)
- TP_s7.1 (File)
- TP_s7.1 : solution (File)
- MOOC série 7 (File)
- MOOC corrigé série 7 (File)
- Setting-up Visual Studio Code options (in english) [05.12.2023] (File)
- Archive file containing setup.sh for Visual Studio Code (File)
suite et fin sur les pointeur (cours MOOC) ; complément sur vector selon temps disponible / TP sur les pointeurs et les chaînes à-la-C
exercices: TP_s7.2
- video de la fin de MOOC7.2 : allocation dynamique + exemple supplémentaire[2025_26] (URL)
- slides illustrant l'exécution de l'exemple supplémentaire d'un ancien examen [2025-26] (File)
- Classe inversée Projet: consolidation des pointeurs et analyse de vector [2025_26] (File)
- video : 1) quizz, 2) main() avec argc et argv, 3) sizeof et vector (partiel) [2025_26] (URL)
- code servant de support au cours: quizz, main(), vector [2024_25] (File)
- TP_s7.2 (File)
- TP_s7.2: solution (File)
- MOOC série 7 (File)
- MOOC corrigé série 7 (File)
Cours standard indépendant du MOOC: entrées-sorties
second examen en contrôle continu du 12 Décembre de 15h15 à 17h45
consultez le document pdf ci-dessous
- MISE A JOUR IMPORTANTE DES SALLES D'EXAMEN (File)
- remarque1: Les examens théoriques et pratiques por... (Text and media area)
- Archive des anciens examens C++ de fin de semestre [ajout examen 2023-24] (Folder)
- Notes ICC Théorie et C++ du 12 décembre 2025 et cyberquiz (File)
- Donnée du test C++ du 12 décembre 2025 (File)
- Solution du test C++ du 12 décembre 2025 (File)
- --------------------------------------------------... (Text and media area)
- video : fin complément sur vector (hors MOOC) [2025-26] (URL)
- Complément sur les entrées-sorties conversationnelles / avec question quizz (File)
- code sur le compléments entrees-sorties ; également pour utilisation en semaine 14 [2024_25] (File)
- video : début du complément sur les entrées-sorties [2025-26] (URL)
Cours : fin du cours Topic13, analyse d'une classe de bugs sur la pile
Rendu mini-projet vendredi 19 à 17H
- Au programme:- fin du cours de la semaine 13 ; ill... (Text and media area)
- video : fin du cours IO (semaine 13) [2025_26] (URL)
- Cours avec Quizz: analyse d'une classe de bugs sur la pile (File)
- video : analyse d'un débordement de tableau sur la pile [2025_26] (URL)
- code utilisé en cours (File)
- Note exécution du projet (6pts) (File)
- project code grading guidelines (File)
- Notes sur la décomposition du code (2pts) (File)
- Notes sur le style du code (2pts) et Note Totale du code (4pts) (File)