Un outil de correction
semi-automatique de programmes Java
La réalisation de travaux pratiques constitue
le principal moyen d'apprentissage d'un langage de programmation informatique
au niveau collégial. Le soutien donné aux étudiants en regard de ces travaux
est primordial si un professeur veut
fournir une formation de qualité. Ce soutien passe principalement par
une présence active du professeur aux périodes de travaux pratiques et par une
correction significative des travaux remis. Les étudiants sont donc grandement
tributaires du professeur; travailler à la maison ou à l'extérieur des heures
de cours deviennent des moments moins pertinents qu'ils ne devraient l'être. De
plus, la grande variété de code soumis rend la correction des travaux
passablement longue à réaliser. La remise des travaux corrigés est donc
déphasée vis-à-vis le curriculum du cours qui avance toujours. Les commentaires
relatifs à cette correction perdent alors beaucoup de valeur aux yeux des
étudiants; ils sont déjà absorbés par l'apprentissage de nouveaux concepts.
Ce
mémoire vise à présenter un outil de correction et d'évaluation de travaux
rédigés avec le langage Java, outil nommé OCETJ. Basé sur l'utilisation d'un
cadre existant de tests appelé JUnit, OCETJ permet donc de fournir à la fois un
feedback aux étudiants sur leurs travaux avant la date de remise et automatise
la correction de ceux-ci lorsque cette date est arrivée. Ces tests peuvent être
appliqués directement sur les classes Java des étudiants. Il n'est donc pas
nécessaire pour eux de réaliser des entrées-sorties textuelles afin de vérifier
ou remettre leur code, ils peuvent se concentrer sur la modélisation du
problème. Peu d'outils de correction existants permettent une telle évaluation
du code soumis.
L'analyse
orientée objet d'OCETJ de même que sa mise en œuvre est présentée dans ce
travail sous la forme de diagrammes et de schémas UML ( Unified
Modeling Language ). L'apport de nombreuses technologies telles les
servlets Java et les bases de données Oracle utilisées par l'intermédiaire du
protocole JDBC ( Java DataBase Connectivity ) furent mises à
profit afin de réaliser cet outil, capable de fournir un soutien supplémentaire
aux élèves et au professeur.