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.