Java Learning Machine - IRISA
Transcript of Java Learning Machine - IRISA
![Page 1: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/1.jpg)
Marion LE BRAS
1
Java Learning Machine
23 Mai 2012
![Page 2: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/2.jpg)
Contexte
Travaux du PIDR
Organisation
Discussion
2
![Page 3: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/3.jpg)
Contexte
Travaux du PIDR
Organisation
Discussion
3
![Page 4: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/4.jpg)
4
Qu’est-ce que JLM ?
Plate-forme développée par Martin Quinson et Gérald
Oster
Application utilisée dans les modules de PPP et de TOP
en 1A
Exercices ludiques à but pédagogique pour apprendre à
programmer, et éventuellement à bien programmer
![Page 5: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/5.jpg)
5
![Page 6: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/6.jpg)
6
![Page 7: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/7.jpg)
7
La JLM a donc
Plusieurs thèmes pédagogiques
Leçons et exercices
Bases de la programmation
Mais pas d’exercices pour la POO
![Page 8: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/8.jpg)
8
D’où le sujet du PIDR :
« Amélioration de la plate-forme JLM pour l’enseignement de la programmation orientée objet »
Rédaction & Implémentation de leçons pour l’apprentissage de la POO
![Page 9: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/9.jpg)
Contexte
Travaux du PIDR
Organisation
Discussion
9
![Page 10: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/10.jpg)
Elaboration d’une documentation
Amélioration de l’interface
Création et intégration d’une suite d’exercices introduisant la POO
10
![Page 11: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/11.jpg)
11
Difficulté initiale du PIDR : prise en main de la plate-forme
Au fur et à mesure de la progression
Rédaction de documentation
Rédaction de tutoriaux
Sur le wiki du dépôt
http://github.com/marionlb/JLM/wiki/_pages
![Page 12: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/12.jpg)
12
Exemple de tutorial : Comment ajouter un exercice
![Page 13: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/13.jpg)
13
Améliorer la navigabilité
Rajout de raccourcis ◦ Par les outils mnemonic et accelerator de Swing
◦ Par la map d’actions associées à des entrées clavier
Ajout d’un panel de progression à gauche ◦ En parallèle de l’avancée dans les exercices
![Page 14: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/14.jpg)
14
Une leçon ◦ Une suite cohérente d’exercices
Un exercice: ◦ Sujet de l’exercice (HTML)
◦ Un code solution - inaccessible évidemment
◦ Un monde et des entités sur lesquelles travailler
◦ Des tests sur la préesence des éléments de solution Classe manquante ? Mauvaise méthode ?
◦ Des tests sur l’effet du code proposé On vérifie le résultat de ce que l’étudiant à écrit
![Page 15: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/15.jpg)
15
Au final : ◦ 14 exercices
◦ 8 fonctionnels
◦ 3 complètement testés
◦ Avec 90% des fonctionnalités testées
![Page 16: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/16.jpg)
16
Tests
Entre black-box & white-box testing On connait les grandes lignes de l’architecture interne
(imposée)
Mais l’étudiant reste libre et peut prendre un certain nombre de libertés
On teste par étapes Sur la présence des éléments imposés (introspection)
Sur le fonctionnement – le(s) résultats demandé(s)
![Page 17: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/17.jpg)
17
Un début de travail pour améliorer la visualisation de l’effet du code étudiant
Avec l’évolution de la PPP à la POO, des pistes pour s’affranchir de la visualisation actuelle ◦ Ø mouvements de Buggles
◦ Visualisation de la structure des objets appelés
Liste attributs, constructeurs, méthodes, hierarchie d’héritage
◦ Visualisation de la mémoire
Mise en place des références, leur effet dans la pile et le tas
![Page 18: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/18.jpg)
Contexte
Travaux du PIDR
Organisation
Discussion
18
![Page 19: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/19.jpg)
19
![Page 20: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/20.jpg)
Contexte
Travaux du PIDR
Organisation
Discussion
20
![Page 21: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/21.jpg)
21
Parce qu’il n’y en a jamais assez !
Et parce que pour RTFM il faut qu’il y ait un FM …
![Page 22: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/22.jpg)
Encore quelques bugs sur certains raccourcis
D’autres mériteraient d’être créés En particulier pour l’édition de texte
Soyons fous : L’affichage dynamique des erreurs ◦ A la façon de l’IDE Eclipse
22
![Page 23: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/23.jpg)
23
Revoir la linéarité de la progression dans les
nouveaux exercices.
Développer la refonte de la visualisation en
POO
◦ Choisir visualisation structure ou mémoire
◦ Intégrer le résultat dans JLM
![Page 24: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/24.jpg)
24
Créer un index d’aide avec des notions de POO
Pour accompagner l’apprentissage (presque)
autodidacte des étudiants
Et bien-sûr, écrire de nouvelles leçons
![Page 25: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/25.jpg)
25
![Page 26: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/26.jpg)
Controler
View Model
26
« Knows » « Controls »
MVC
Architecture
![Page 27: Java Learning Machine - IRISA](https://reader031.fdocument.pub/reader031/viewer/2022012508/618558e94b897006d14cae5b/html5/thumbnails/27.jpg)
Game
Player LetterGame
Letters Words Definition
NumberGame
27