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


Ce fichier fait partie du contenu téléchargé de ICS (pour CMS).

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 021CO 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 :

  1. Programmation Python
  2. Algorithmique
  3. Bibliothèques scientifiques et graphiques Python
  4. 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 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.

Semaine 1

La série d'exercices est en format Jupyter Notebook (.ipynb). Pour l'ouvrir, il suffit de la télécharger et de l'uploader sur la plateforme Noto (https://noto.epfl.ch/) accessible avec votre compte Gaspar.

Semaine 2


Semaine 3


Semaine 4


Semaine 5


Semaine 6


Semaine 7


Semaine 8


Semaine 9


Semaine 10


Semaine 11


Semaine 12


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.


Matière couverte et indications:

  • 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 f(n)=\mathcal{O}(g(n)) pour des fonctions f(n) et g(n) données). Par contre, étant donné deux fonctions f(n) et g(n), vous devez pouvoir dire si f(n)=\mathcal{O}(g(n)), si f(n)=\Theta(g(n)), 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.

RAQ: 
  • Lundi 05.01.26 et mardi 06.01.26 de 14h à 16h en BS 279.

Nous mettons à votre disposition ci-dessous les Contrôles 2 des années passées. Remarquez que certains algorithmes de graphes étaient donnés sous une version légèrement différente les années précédentes, mais le code Python correspondant est toujours inclus dans l'examen.