ENPC Ecole des ponts
ACCUEIL DU CATALOGUE DES COURS ACCUEIL DU SITE FRANCAIS ACCUEIL DU SITE INTERNATIONAL
Introduction à la programmation
Année scolaire 2020-2021
Créneau Sem 1
SL

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, Laurent BULTEAU, Thomas BELOS, Abderahmane BEDOUHENE, Francois DARMON, Clément RIU, Mathis PETROVICH
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 cours de S1 comporte 12 séances de cours d'1 heure et 12 séances de TP d'1h30. A ces créneaux s'ajoutent deux séances de travail personnel accompagné (TPA) de 2h30, l'une à mi-parcours du cours et l'autre en dernier en vue de préparation à l'examen final, ainsi que 2h réservés à l'examen final. Un des premiers créneaux de TPA sera utilisé pour aider les élèves ayant des difficultés à installer les logiciels sur leur ordinateur portable personnel. D'autres créneaux de TPA pourront être utilisés pour l'aide personnalisée aux exercices. Les TP ont tous un format ludique, avec graphisme, interaction 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 l'examen final individuel sur machine (40%).

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  :  14/09/2020
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