|
Ma contribution majeure en matière d'introduction à la programmation est peut-être
la plate-forme pédagogique Java Learning Machine, que j'ai
réalisé avec Gérald Oster. Il s'agit d'un outil interactif permettant d'apprendre les
bases de la programmation en Java de façon interactive. Cet outil constitue la colonne
vertébrale du module Preparation Informatique à l'ESIAL, destiné aux étudiants venant
des classes préparatoires pour leur permettre de combler certaines de leurs lacunes
en programmation de base. A la fin du module, les étudiants doivent savoir utiliser
l'environnement UNIX utilisé à l'ESIAL, et écrire des méthodes simples (comme la recherche
linéaire d'un élément dans un tableau).
Je participe également au module Programmation Orientée Objet, dont Gérald Oster
est le responsable. Il s'agit de construire sur les bases acquises dans le module de
préparation informatique (ou ailleurs), et d'étudier les concepts de la programmation objet.
Le module Techniques et Outils pour Programmer (dont je suis responsable) arrive après
celui de POO. L'objectif est de permettre aux étudiants de devenir de vrais programmeurs en
renforçant leurs compétances à la fois sur des techniques algorithmiques importantes comme la récursivité,
sur des notions de base (efficacité et correction d'un programme) et sur les outils classiques
(debogueur, profiler). L'objectif est d'avoir un point de vue à la fois théorique et pratique
(preuve de programme vs. deboguage ou complexité algorithmique vs. profiling).
Le cursus ESIAL contient ensuite un module de Structures de Données (sous la responsabilité de
Rémi Badonnel) auquel je ne participe pas.
Le module Langage C et Shell (dont je suis responsable) arrive
ensuite. Il constitue à la fois une extension aux modules de programmation
vus plus tôt lors de la première année et une introduction aux cours de programmation système et systèmes
d'exploitation auquels je participe en seconde année. L'objectif est
de permettre aux étudiants de devenir des utilisateurs experts d'UNIX
(scripting shell), et de leur permettre de survivre en C (bases du
langage, gestion de la mémoire, notions de compilation, techniques de
debug spécifiques au C). La spécificité de ce module est d'être organisé
majoritairement sous forme de TD-cours (un seul amphi d'introduction et de
mise en contexte, le plus gros du contenu à savoir est donné en petits
groupes juste avant les exercices). Les seuls supports de cours
disponibles ici sont donc le poly de l'amphi d'intro, et les sujets de
TP.
| |
|
Bibliographie succincte
|
|
|
Si vous avez des suggestions pour compléter cette partie, elles sont les bienvenues.
|
|
|
|