ENPC Ecole des ponts
ACCUEIL DU CATALOGUE DES COURS ACCUEIL DU SITE FRANCAIS ACCUEIL DU SITE INTERNATIONAL
Introduction à la programmation
Année scolaire 2023-2024
Créneau Sem 1/Sem 3
Sem 3

Aucune

Prérequis

Aucun, cependant la formation dispensée en classes préparatoires, y compris BCPST, du langage Python aidera les élèves issus du concours commun à maîtriser certains concepts. De même, beaucoup d'admis sur titre ont déjà suivi en licence un enseignement dans un langage avancé de type C ou Java et leur apprentissage en sera facilité.

Enseignant responsable Pascal MONASSE
Equipe enseignante Pascal MONASSE, Clement RIU, Thomas BELOS, Thomas DAUMAIN, Emanuele CONCAS, Arthur LEQUERTIER, Tanguy FARDET
Objectifs du module

Apporter aux élèves de première année une formation de base en programmation informatique. Les bases conceptuelles nécessaires à la programmation sont facilement assimilables pour nos élèves, l'accent est donc mis sur la pratique et l'acquisition de bons " réflexes " de programmation : utilisation efficace de l'environnement de programmation et de ses outils, documentation du code, factorisation du code, concision… Le langage enseigné est le C++. Ce choix est justifié par l'importance de son utilisation dans les grands groupes, l'industrie, aussi bien que les start-ups. Sa souplesse en termes de choix de programmation bas niveau ou plus élaborée en objets, sa portabilité, la richesse de ses bibliothèques et son efficacité en font un langage privilégié qui a servi (exemple : Java) et sert encore de paradigme pour des langages en développement (ex : Go développé par Google ou Rust de Mozilla). Les aspects les plus avancés du langage, comme l'héritage et le polymorphisme, sont exclus de cette introduction.

Programme du module

Ce module de S1 comporte 12 séances de cours en petite classe d'1 heure et 12 séances de TP d'1h30. A ces créneaux s'ajoutent quelques séances de travail personnel accompagné (TPA) facultatives de 1h30, l'une à mi-parcours du cours et l'autre en dernier en vue de préparation à l'examen final. Les deux examens durent chacun 2h. Des créneaux de TPA accompagnant les premières séances seront utilisées pour résoudre des difficultés éventuelles à installer les logiciels sur l'ordinateur portable personnel. Les TP ont tous un format ludique, avec graphisme, interaction utilisateur et parfois animation.

 

Thèmes abordés :

 

1. Environnement de programmation

 

2. Fonctions, variables, boucles

 

3. Tableaux

 

4. Structures

 

5. Organisation du code en plusieurs fichiers

 

6. Mémoire, fonctions récursives, file et pile

 

7. Allocation dynamique

 

8. Introduction aux objets

 

9. Constructeurs et destructeurs

 

10. Gestion des classes et mémoire

 

11. Fichiers, chaînes de caractères

 

12. Templates et utilisation de la STL (Standard Template Library)

Contrôle des connaissances - Règles de validation du module

La validation se fait sur les rendus de TP (30 %) en binôme ou monôme, les exercices à la maison individuels (30 %) et les deux examens individuels sur machine (40%). Une note d'au moins 8/20 à un des deux examens est nécessaire et non suffisante pour valider le module.

Adresse du site du module http://imagine.enpc.fr/~monasse/Info1/
Documents pédagogiques - Bibliographie

Un polycopié couvrant tout le cours, des programmes de base illustrant le cours et squelettes de code à compléter pour les TP, bibliothèques C++ pour l'interface graphique.

Effectif maximal Effectif illimité
Département de rattachement Département de 1ère année
Nombre de crédits ECTS 3,5 crédits ECTS
Code 1PROG
Dernière mise à jour  :  28/08/23
Rechercher des modules      Liste complète des titres de module      Liste complète des responsables de module
Imprimer © École nationale des ponts et chaussées Haut de page