Programmation (E3)
ANNONCES
Cette zone sera utilisée pour communiquer des informations importantes concernant le cours. Il est impératif de la consulter régulièrement.
Renseignements pratiques
Microsoft Teams pour les classes virtuelles ;
- le planning, dans la barre de recherche :
E3-P1-S1pour le groupe 1 ;E3-P2-S1pour le groupe 2 ;E3-P3-S1pour le groupe 3 ;E3-P4-S1pour le groupe 4 ;E3-P5-S1pour le groupe 5 ;
Découpage pédagogique
Le découpage pédagogique est donné à titre indicatif. Il peut être modifié en fonction de l’avancement du cours. D = distanciel
jour
début
durée
type
sujet
lundi 14/09/2026
13:00
03:00
CM
Introduction, Installation et premiers pas
vendredi 18/09/2026
09:00
03:00
CM (D)
Langages, comparaison des langages, C
lundi 21/09/2026
13:00
03:00
CM
Références, gestion des erreurs
vendredi 25/09/2026
09:00
03:00
CM (D)
Intelligence artificielle, contrôle de flux
lundi 28/09/2026
13:00
03:00
TD
Structures de données
vendredi 02/10/2026
09:00
03:00
CM (D)
Structures de données
lundi 05/10/2026
13:00
03:00
TD
Structures de données en C
vendredi 09/10/2026
09:00
03:00
CM (D)
Structures de données en C
lundi 12/10/2026
13:00
03:00
TD
Structures de données en Python
vendredi 16/10/2026
09:00
03:00
CM (D)
Structures de données en Python
lundi 19/10/2026
13:00
03:00
TD
Structures de données en Python
vendredi 23/10/2026
09:00
03:00
CM (D)
Fonctions
lundi 02/11/2026
13:00
03:00
TD
Fichiers
Prérequis
Pour ce cours, il est nécessaire d’avoir suivi une introduction à l’informatique et à la programmation, et d’avoir une certaine familiarité avec les concepts de base de la programmation (variables, types de données, structures de contrôle, fonctions, etc.). Une expérience préalable avec Python ou C, les langages de programmation utilisés dans le cours, est un plus, mais pas obligatoire.
Méthodologie d’apprentissage
Pour chaque chapitre du cours :
lire attentivement le contenu, visionner la vidéo si elle est présente ;
reproduire les exemples présentés ;
faire les quiz qui permettent de vérifier la compréhension des notions abordées (ils sont représentatifs de l’évaluation) ;
faire les exercices d’application ;
faire les labs éventuels.
La totalité du contenu est disponible en ligne. Rester attentif au séquencement pédagogique pour ne pas prendre de retard.
Acquisition de connaissances
L’acquisition de connaissances est un processus cognitif qui n’est pas instantané. Il mobilise plusieurs échelles de temps.
Le temps court (une notion abordée dans une séance) permet à l’élève de mobiliser sa mémoire de travail pour comprendre (en profondeur) une proposition ou un énoncé. La mémoire de travail étant limitée, la charge cognitive est élevée, l’effort de concentration est important. Il est cependant fondamental de ne pas laisser de zones d’incertitude.
Le temps moyen (d’une semaine sur l’autre) permet de construire des schémas plutôt que de retenir des détails isolés. Le cerveau commence à organiser les connaissances. Il permet de reconnaitre une situation parmi d’autres. Cette reconnaissance réduit énormément la charge cognitive.
Le temps long (le semestre) permet d’automatiser les tâches, certaines connaissances sont acquises. Ces opérations ne mobilisent presque plus la mémoire de travail. Des problèmes plus complexes peuvent être abordés.
L’apprentissage n’est pas linéaire, il y a un aller-retour permanent. La découverte d’une nouvelle notion nécessite de revenir temporairement dans le temps court. Tout redevient coûteux cognitivement. Avec la pratique, cette nouvelle compétence migre progressivement vers le temps long.
Assistance
Dans le temps court, l’utilisation d’une IA peut se révéler extrémement bénéfique lorsqu’elle est sollicitée pour comprendre (pas pour déléguer). Elle est toujours disponible et possède un volume de connaissances supérieur à celui d’un humain. Dans le cadre des notions abordées dans ce cours, le corpus de connaissance est fourni et bien stabilisé. L’hallucination (un phénomène où l’IA produit des informations fausses ou inexactes) est rare. Elle produit une information structurée et illustrée par des exemplesdans un temps très court. Plus de détails sur l’utilisation de l’IA sont disponibles dans le chapitre Intelligence artificielle.
Le recours à l’humain est précieux lorsque la formulation de la question à poser à l’IA n’est pas claire. L’humain connait le contexte d’apprentissage, les difficultés systémiques.
Vous êtes invités à déclencher l’assistance lorsqu’après avoir étudié une notion, vous éprouvez des difficultés à reformuler cette notion.
Lors d’un exercice ou d’un lab, il est impératif d’essayer de le résoudre par vous même pendant au moins 10 mn. Si vous avez besoin d’assistance sur un exercice, que l’interlocuteur soit un humain ou un assistant de codage, assurez vous de produire un exemple minimal reproductible. Minimal pour se concentrer sur l’essentiel du problème, reproductible pour pouvoir porter le problème sur une machine éventuellementdifférente. Souvent cette démarche est suffisante pour cerner le problème et y apporter une solution.
Conventions
Dans ce cours, les conventions suivantes sont utilisées.
Les exercices sont encapsulés dans un cadre orange. Ce sont des activités à réaliser par l’élève. Ils sont obligatoires et réputés compris et maitrisés en aval du déroulement du cours. A l’exception des exercices étiquetés IA, les exercices doivent pouvoir être refaits sans l’aide de l’IA.
Certains de ces exercices sont des labs qui doivent être faits sur la machine locale puis pushés sur le serveur. Le lab qui fait foi est celui qui est pushé sur le serveur, pas celui que vous avez sur votre machine locale. Les labs ne sont pas notés mais mais une faible complétude sera considéré comme une faible implication dans les apprentissages lors du jury.
Dans ce cours deux langages sont utilisés : Python et C. Le code est présenté dans des cadres de couleurs différentes pour chaque langage.
Le code Python est encapsulé dans un cadre vert.
Le code C est encapsulé dans un cadre bleu.
Les quiz permettent à l’élève de vérifier les connaissances acquises. Ils sont représentatifs de l’évaluation de l’unité.
Le code Python est encapsulé dans un cadre
Le code C est encapsulé dans un cadre .