En version longue
la description plus complète des enseignements
Le programme sur l’année (8 ECTS)
2 ECTS = 9 séances de 3 heures
S1 (1er Sem) - UE12: 4 ECTS
PE Programmation Élémentaire (2 ECTS)
séances | contenu | |
---|---|---|
Python numérique | 5 | pandas, numpy, matplotlib |
git | 2 | système de gestion de versions |
hackaton-PE | 1 | réaliser du code en groupe |
AP Apprentissage de la Programmation (2 ECTS)
langage (au choix) | séances | contenu |
---|---|---|
Python avancé | 9 | approfondissements du langage Python |
C++ | 9 | découverte d’un langage de haut niveau et compilé |
Julia | 9 | découverte d’un langage de haute performance spécialisé en calcul scientifique |
hackaton-AP (pour tous) | 2 | réaliser du code en groupe de 4 |
S2 (2éme Sem) - UE22: 4 ECTS
PFC Programme fiables et concurrents (2 ECTS)
séances | contenu | |
---|---|---|
Web frontend | 5 | HTML, CSS, JavaScript |
Web backend | 4 | TCP/IP, http, serveurs d’API |
PI Projet Informatique (2 ECTS) en groupe de 4 élèves
séances | contenu | |
---|---|---|
travail en groupe | 9 |
Les cours
Ce qu’on attend de vous
-
que vous soyez présents à tous les cours (ils sont obligatoires)
-
que vous préveniez votre enseignant en cas d’absence (avant si cela vous est possible) il vous indiquera quoi rattraper
-
que vous soyez à l’heure (un contrôle continu sera fait en début de séance)
Votre comportement
soyez constructifs, coopératifs
- vis-à-vis des autres élèves en les aidant sans être compétitif
- vis-à vis de vos enseignants en leur posant des questions, en leur disant si ils vont trop/pas assez vite…
aidez les à comprendre où vous en êtes
Pour savoir où vous en êtes ? et pour vous évaluer
pour le fun (non noté)
des hackathons pour vous apprendre à travailler ensemble
un contrôle continu noté (quiz ou exercices au début de chaque cours)
des mini-projets de programmation (notés et personnels)
À savoir
les enseignants ne pourront pas attribuer de note de contrôle continu aux élèves trop souvent absents (qui iront donc en rattrapage)
si vous êtes absent parce que vous connaissez déjà parfaitement toutes ces notions: contacter
valerie.roy@minesparis.psl.eu
Les 3 langages Python, C++ et Julia
vous prendrez un de ces langages au choix
un formulaire vous sera envoyé pour le choix du langage
Python
- simple, lisible et élégant, interprété
- très grand nombre de librairies
- prototypage rapide
- applications web, data-science, machine-learning
C++
- haut-niveau, mais aussi proche de la machine, typé, compilé, très performant
- plus difficile d’accès que Python et plus exigeant, mais vous apporte une compréhension fine de ce qui se passe en machine
- de belles constructions (templates)
- logiciels scientifiques, OS, BdD, moteurs de rendus, logiciels de micro-contrôleurs (tout ce qui doit aller vite)
Julia
- langage moderne, de haute performance
- généraliste mais spécialisé dans le calcul scientifique
- prototypage rapide
- cours plus exigeant que celui de Python
Les supports de cours
Où les trouver ?
cours S1 | URL |
---|---|
intro (ce cours) | https://ue12-p25.github.io/intro |
Python numérique | https://ue12-p25.github.io/numerique |
GIT | https://ue12-p24-git.readthedocs.io |
Python avancé | https://ue12-p24-python.readthedocs.io |
C++ | https://cpp.bmarchand.fr |
cours S2 | URL |
---|---|
frontend | https://ue22-p24-web.readthedocs.io |
backend | https://ue22-p24.github.io/backend |
Contenu
ils contiennent
- les notions de base à connaître
- quelques notions intermédiaires
- des notions avancées (pour ceux qui vont plus vite)
les supports sont plutôt rédigés pour être étudiés en autonomie
- ils sont donc trop détaillés pour être parcourus entièrement en cours
- les enseignants en choisiront certains et les parcourront rapidement pour vous présenter des notions et des exercices
en cours: écoutez vos enseignants et posez des questions
(plutôt que de lire les supports dans votre coin… vous les relirez bien sûr entre les cours)
→ en cours: on commence les apprentissages ensemble en parcourant les supports
→ à-la-maison: vous terminez les notebooks commencés et vous relisez les notebooks déjà vus
Ressources Internet & IA
Quelles sont les ressources, disponibles sur Internet, qu’il est intéressant d’utiliser ? Ça dépend:
google, StackOverflow
S’agissant des ressources “classiques” telles que la recherche google, et les sites spécialisés comme StackOverflow, leur usage est fortement recommandé; vous rencontrez un concept pour la première fois, ou vous avez de la difficulté à écrire un morceau de code, vous devez avoir le réflexe de chercher à en savoir plus sur google ou wikipedia, ou à trouver une solution sur SO (stackoverflow), …
chatGPT1, Copilot2
you are responsible for ensuring the security and quality of your code. We recommend you take the same precautions when using code generated by GitHub Copilot that you would when using any code you didn’t write yourself. These precautions include rigorous testing, IP scanning, and tracking for security vulnerabilities…*
Footnotes
-
ChatGPT is an AI-powered language model developed by OpenAI, capable of generating human-like text based on context and past conversations. ↩
-
GitHub Copilot is non-free, cloud-based and AI-powered tool developed by GitHub and OpenAI to assist users of (some) IDEs (like vscode) by autocompleting code. ↩