27
Marion LE BRAS 1 Java Learning Machine 23 Mai 2012

Java Learning Machine - IRISA

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Java Learning Machine - IRISA

Marion LE BRAS

1

Java Learning Machine

23 Mai 2012

Page 2: Java Learning Machine - IRISA

Contexte

Travaux du PIDR

Organisation

Discussion

2

Page 3: Java Learning Machine - IRISA

Contexte

Travaux du PIDR

Organisation

Discussion

3

Page 4: Java Learning Machine - IRISA

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

5

Page 6: Java Learning Machine - IRISA

6

Page 7: Java Learning Machine - IRISA

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

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

Contexte

Travaux du PIDR

Organisation

Discussion

9

Page 10: Java Learning Machine - IRISA

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

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

12

Exemple de tutorial : Comment ajouter un exercice

Page 13: Java Learning Machine - IRISA

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

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

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

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

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

Contexte

Travaux du PIDR

Organisation

Discussion

18

Page 19: Java Learning Machine - IRISA

19

Page 20: Java Learning Machine - IRISA

Contexte

Travaux du PIDR

Organisation

Discussion

20

Page 21: Java Learning Machine - IRISA

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

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

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

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

25

Page 26: Java Learning Machine - IRISA

Controler

View Model

26

« Knows » « Controls »

MVC

Architecture

Page 27: Java Learning Machine - IRISA

Game

Player LetterGame

Letters Words Definition

NumberGame

27