Langage et programmation

Informations administratives

Volume horaire par certificat

  • Heures encadrées :
    • 10 h cours
    • 10 h travaux dirigés
  • Heures non-encadrées :
    • 10 h travaux pratiques non encadrés en salle de TP (voir l’organisation type de la journée)
    • 20 h travail personnel

Objectif du cours

L’objectif de ce cours est de :

  • connaître un langage de programmation impératif multi-usage (par exemple le langage Java) ;
  • pouvoir s’adapter facilement à d’autres langages équivalents ;
  • savoir programmer efficacement les principaux algorithmes “classiques” ;
  • connaître les outils et méthodes élémentaires d’aide au développement et à la validation de programmes.

Contenu pédagogique

Page du cours

  • Notions fondamentales des langages de programmation impératifs
    • Un exemple : le langage Java
    • notion de syntaxe et de sémantique;
    • structure d’un programme (module, sous-programme, portée, durée de vie);
    • état et transformation d’états, structures de contrôle;
    • principaux types de données, allocation dynamique;
    • interface avec un environnement utilisateur (fichiers, ligne de commande, interface graphique).
  • Implémentation de structures de données et algorithmes classiques
    • encapsulation de données, notion de type abstrait;
    • implémentation des types de données usuels (séquence, pile, file, arbre, graphe, etc).
    • mise en oeuvre d’algorithmes standards (tris, parcours de graphe, algorithmes géométriques, etc.)
  • Techniques et outils élémentaires d’aide au développement de programmes}
    • fonctionnalités offertes par le système d’exploitation (gestion de fichiers, langage de commande);
    • compilation : compilation séparée, Makefile;
    • mise au point : technique et outils;
    • validation : test et instrumentation de programmes

Bibliographie

  • Chapitres 3 de Introduction à la science informatique : Pour les enseignants de la discipline en lycée informatique, Gilles Dowek (coordination de l’ouvrage collectif) Collection Repères pour agir, CRDP Académie de Paris. 2011
  • Quelques références sur des langages de programmation
    • Bernard Cassagne. Introduction au langage C. Livre électronique, 1998.
    • K. N. King. C Programming : A Modern Approach. W. W. Norton & Company, 2e edition, 2008.
    • Bruce Eckel. Thinking in Java. Prentice Hall, 2e edition, 2006.
    • Patrick Niemeyer and Jonathan Knudsen. Introduction à Java. O’Reilly, 2002.