Skip to content

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éancescontenu
Python numérique5pandas, numpy, matplotlib
git2système de gestion de versions
hackaton-PE1réaliser du code en groupe

AP Apprentissage de la Programmation (2 ECTS)

langage (au choix)séancescontenu
Python avancé9approfondissements du langage Python
C++9découverte d’un langage de haut niveau et compilé
Julia9découverte d’un langage de haute performance
spécialisé en calcul scientifique
hackaton-AP (pour tous)2réaliser du code en groupe de 4

S2 (2éme Sem) - UE22: 4 ECTS

PFC Programme fiables et concurrents (2 ECTS)

séancescontenu
Web frontend5HTML, CSS, JavaScript
Web backend4TCP/IP, http, serveurs d’API

PI Projet Informatique (2 ECTS) en groupe de 4 élèves

séancescontenu
travail en groupe9

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 S1URL
intro (ce cours)https://ue12-p25.github.io/intro
Python numériquehttps://ue12-p25.github.io/numerique
GIThttps://ue12-p24-git.readthedocs.io
Python avancéhttps://ue12-p24-python.readthedocs.io
C++https://cpp.bmarchand.fr
cours S2URL
frontendhttps://ue22-p24-web.readthedocs.io
backendhttps://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

  1. ChatGPT is an AI-powered language model developed by OpenAI, capable of generating human-like text based on context and past conversations.

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