Concepts Informatiques

Informations générales

Je n’assure plus ce cours qui existe toujours. Les documents ici présents sont donc encore d’utilité publique.

Pré-requis

Ce cours peut-être suivi par tout étudiant ayant des connaissances minimales en programmation. Il a été conçu comme suite possible du cours IP1 du premier semestre de première année de Licence. Il suit aussi le cours PF1 Principes de Fonctionnement des Machines Binaires, lequel est moins nécessaire mais pas inutile.

Contenu

Le cours est en deux parties :

  1. on étudie d’abord d’un point de vue des machines comment différentes constructions des langages de haut-niveau sont implantées (variables globales, pointeurs, références, fonctions, paramètres, variables locales…)
  2. on s’intéresse ensuite à la récursion et ses différentes applications (types récursifs, fonction récursives, élimination de la récursion, optimisation, backtracking…)

Dans le fil du cours, on s’emploie à traduire (compiler) des programmes dans des formes plus proches de celles acceptées par les machines.

Supports de cours

Livre

2014

Fondements de la Programmation Concepts et Techniques

Jean-Marie Rifflet, Jean-Baptiste Yunès

Fondements de la Programmation Concepts et Techniques Livre

Ellipses, 2014, ISBN: 9782340000148.

Résumé | Liens | BibTeX

Vidéos et illustrations

Reportez-vous à la fin de la page ici.

2015—2016

2014—2015

2013—2014

2012—2013

2011—2012

Pour l’année 2011—2012, voici quelques archives de TD :

  • TD1 : variables, types, références et valeurs
  • TD2 : passage de paramètres
  • TD3 : piles (non électriques)
  • TD4 : traduction de programmes
  • TD5 : itérer, récurer?
  • TD6 : traduction de programmes 2, retour vers l’enfer, il faut appeler des fonctions!
  • TD7 : programmation dynamique
  • TD8 : récursion, il faut l’éliminer…
  • TD9 : savez-vous rebrousser chemin ?

Archives

Archives en vrac de partiels/examens/corrections :

  • C2009 : le corrigé du partiel de 2009.
  • Puzzle : le code d’un programme capable de résoudre des cryptogrammes.
  • Cavalier : le code source d’un programme capable de trouver une solution au problème des cavaliers.
  • EX8_1 : le code source d’une solution à la fiche 8.
  • EX8_2 : le code source d’une solution à la fiche 8.
  • LSSM : le code source de la solution à l’exercice 4 de la fiche 6.
  • EX3 : le code source de la solution à l’exercice 3 de l’examen de seconde session pour l’année 2011.
  • ZIP : une archive des codes Java.

Annexes illustratives