ICS (pour CMS)
PREPA-025
Media
2023 - 2024
10.10.2023, 17:06
2023 - 2024
10.10.2023, 17:06
2023 - 2024
10.10.2023, 17:06
2023 - 2024
10.10.2023, 17:06
PREPA-025 ICS Cours 1 (20.09.23)
25.09.2023, 10:49
PREPA-025 ICS Cours 2 (27.09.23)
27.09.2023, 10:40
PREPA-025 ICS Mercredi 2023-2024 semestre 1
27.09.2023, 10:49
PREPA-025 ICS Cours 3 (04.10.23)
04.10.2023, 10:12
PREPA-025 ICS Mercredi 2023-2024 semestre 1
04.10.2023, 10:48
PREPA-025 ICS Cours 4 (11.10.23)
11.10.2023, 10:13
PREPA-025 ICS Mercredi 2023-2024 semestre 1
11.10.2023, 10:49
PREPA-025 ICS Cours 5 (18.10.23)
18.10.2023, 10:13
PREPA-025 ICS Mercredi 2023-2024 semestre 1
18.10.2023, 10:50
PREPA-025 ICS Cours 6 (25.10.23)
25.10.2023, 10:12
PREPA-025 ICS Cours 7 (15.11.23)
15.11.2023, 10:41
PREPA-025 ICS Mercredi 2023-2024 semestre 1
15.11.2023, 10:48
PREPA-025 ICS Cours 8 (22.11.23)
22.11.2023, 10:42
PREPA-025 ICS Mercredi 2023-2024 semestre 1
22.11.2023, 10:50
PREPA-025 ICS Cours 9 (29.11.23)
29.11.2023, 10:43
PREPA-025 ICS Cours 10 (06.12.23)
06.12.2023, 10:40
PREPA-025 ICS Cours 11 (13.12.23)
13.12.2023, 10:12
PREPA-025 ICS Mercredi 2023-2024 semestre 1
13.12.2023, 10:49
PREPA-025 ICS Cours 12 (20.12.23)
20.12.2023, 10:42
PREPA-025 ICS Mercredi 2023-2024 semestre 1
20.12.2023, 10:52
Informatique et Calcul Scientifique
Bienvenue sur le Moodle cours d'Informatique et Calcul Scientifique pour le CMS!
Le cours sera donné dans la salle PO 01 pour les groupes A et B et CE5 pour le groupe C, les mercredis de 8h15 à 10h00.
Les exercices prendront la forme de travaux pratiques sur ordinateur et auront lieu dans les salles CO 020, CO 021, CO 023 (salles avec postes de travail) et INF 1, INF 2 (utiliser vos ordinateurs personnels). Vous êtes libres de vous installer dans la salle de votre choix, indépendamment de votre groupe d'origine.Les travaux pratiques seront disponibles sous forme de Jupyter Notebook que vous pourrez éditer sur la plateforme en ligne Noto (noto.epfl.ch), et seront donc accessibles indépendamment de votre système d'exploitation. Si vous préférez, vous pouvez installer une distribution Python ainsi qu'un environnement de développement intégré sur votre machine.
En dehors des heures d'exercices, n'hésitez pas à poser vos questions sur le Forum edDiscussion ci-dessous ! Les communications importantes seront effectuées sur le forum Annonces de la page Moodle.
Nous vous souhaitons un excellent semestre d'automne.
Leonard Hardiman et Ghid Maatouk
Présentation du cours et documents utiles
Ce cours a pour sujet l'étude d'algorithmes élémentaires et leur implémentation en langage Python. Son contenu est organisé en quatre parties. Les deux premières sont présentées durant le premier semestre et les deux dernières durant le deuxième semestre :
- Programmation Python
- Algorithmique
- Bibliothèques scientifiques et graphiques Python
- Méthodes numériques
Voici quelques ouvrages de référence pour la premier semestre. Bien entendu, l'informatique étant une science vivante et largement documentée, nous vous encourageons à chercher vos propres sources en ligne et de consulter les forums dédiés à la communauté informatique.
- Documentation for Python 3 (https://docs.python.org/3/)
- G. Swinnen, Apprendre à programmer avec Python 3, Eyrolles, 2012, ISBN : 9782212134346.
- J. Guttag, Introduction to Computation and Programming Using Python : With Application to Understanding Data, Second Edition, MIT Press, 2016, ISBN : 9780262529624.
Vous trouverez ici les enregistrements d'anciens cours, à titre de référence. La matière enseignée cette année pouvant différer légèrement, nous vous conseillons fortement de venir assister aux cours en présentiel.
Contrôle 1
Le Contrôle 1 d'ICS aura lieu le mercredi 05.11.25 de 8h15 à 9h45. Ce sera un examen écrit sur papier, sans ordinateur. Si besoin, un formulaire sera fourni avec l'examen; aucun matériel supplémentaire n'est autorisé.
Le contrôle comportera une partie QCM et une partie où il faudra écrire du code Python. Pour écrire du code sur papier, mettez-le en forme comme sur l'ordinateur, en respectant notamment les indentations: 4 carreaux = 1 tab.
Vous trouvez ci-dessous les Contrôle 1 des deux années précédentes. Certaines notions ne sont plus au programme. En particulier, on ne teste plus
- la manipulation de fichiers (comme dans Q13 2023)
- la fonction input() pour prendre des informations de l'entrée standard
- les strings formatées (f"...")
- La gestion d'exceptions (comme Q2 2023)
Réponses aux questions:
- Vendredi 31.10 10h - 12h en BS170
- Mardi 04.11 14h - 16h en BS 279.
- Contrôle 1 - Enoncé 2025 (Fichier)
- Contrôle 1 - Corrigé 2025 (Fichier)
- Contrôle 1 - Enoncé 2023 (Fichier)
- Contrôle 1 - Corrigé 2023 (Fichier)
- Contrôle 1 - Enoncé 2024 (Fichier)
- Contrôle 1 - Corrigé 2024 (Fichier)
Semaine 1
Semaine 2
Semaine 3
- Cours 3 (URL)
- Série 3 (Fichier)
- Série 3 - Corrigé (Fichier)
- Pour une pratique ludique du flux de contrôle, soy... (Zone texte et média)
Semaine 4
Semaine 5
Semaine 6
- Cours 6 (URL)
- Série 6 (Fichier)
- Série 6 - corrigé (Fichier)
- générer_livres (Jupyter notebook) (Fichier)
- jeu du morpion (Jupyter notebook) (Fichier)
Semaine 7
Semaine 8
- Cours 8 : Complexité algorithmique (Fichier)
- Série 8 (Fichier)
- Solution 8 (Fichier)
- Annexe à la question 1 (Fichier)
- fonctions_ics.py (Fichier)
Semaine 9
Semaine 10
- Cours 10 : Algorithmes de tri (Fichier)
- Série 10 (Fichier)
- Tri par fusion Jupyter notebook (exercice 1c) (Fichier)
- Solution 10 (Fichier)
- somme_deux.ipynb (exercice 4) (Fichier)
Semaine 11
- Cours 11 : Algorithmes de graphes (Fichier)
- BFS Jupyter Notebook (Fichier)
- Série 11 (Fichier)
- Solution 11 (Fichier)
Semaine 12
- Cours 12 : Algorithmes de graphes (suite) (Fichier)
- Algorithmique : résumé des cours 6 - 12 (Fichier)
- graphes.ipynb (Fichier)
- Série 12 (Fichier)
- Solution 12 (Fichier)
Informations - Contrôle 2
Date: Mercredi 07.01.26 de 10h à 12h (durée 2h)
Format du contrôle:
Voir les contrôles des années précédentes.
Matériel autorisé:
Aucun matériel supplémentaire.
- L'examen couvrira la matière vue aux semaines 7 à 12 incluses (bien sûr, la matière des semaines 1 à 6 constitue un prérequis, mais on ne teste pas spécifiquement votre maîtrise de cette première partie du cours).
- Si on vous demande de dire ce que fait ou affiche un certain algorithme, on vous donnera toujours son code. Par contre, il est fortement recommandé de comprendre très bien tous les algorithmes vus en cours et aux séries car on vous demandera d'écrire des algorithmes qui pourraient ressembler à ce que vous avez déjà vu (ou pas), ou des algorithmes qui font appel aux algorithmes vus en cours.
- On ne vous demandera pas de preuves mathématiques pour les notations asymptotiques (du genre prouver, en exhibant une constante et un rang, que
pour des fonctions
et
données). Par contre, étant donné deux fonctions
et
, vous devez pouvoir dire si
, si
, etc. - Vous devez pouvoir exprimer le temps de parcours d'un algorithme en notation asymptotique en fonction de la taille de l'entrée, avec une brève justification (comme dans l'exercice de révision de la Série 11). Vous devez également connaître, ou pouvoir recalculer, les temps de parcours des algorithmes donnés dans les tables du chapitre "Algorithmique - résumé du cours" de la semaine 12.
- Remarque: contrairement aux années précédentes, la correctitude (Cours 7) est au programme cette année.
- Lundi 05.01.26 et mardi 06.01.26 de 14h à 16h en BS 279.