Personalized Digital Tutor

The story

As my part of a group project in an Ethics in Computer Science course, I built my first attempt at an intelligent learning environment. (March/April 2004)

Our project was to investigate modern technology's impact on criminals, social justice and law enforcement. My contribution to the project was this tool to educate an average person about computer security. details...

Meet Eruces

He'll take you through the topic-at-hand; in this case, we've chosen the domain of personal computer security. One day, we may see digital guys like Eruces taking students through other domains like Geology or Literature.

Free exploration

Students can choose their path of exploration.


Mmmm. KDE skins. Half of the Eruces coding was done on a Mandrake Linux workstation. I finished it up at home on my iMac.

The full tutorial map [page 1, 2, 3] is reminiscent of those old Choose Your Own Adventure novels. You'd get to the end of page 1, for example, and would be faced with a choice: "To go through the blue door, turn to page 2. To go through the red door, turn to page 3". Computer technology to model such a things has been around since the '60s, if not earlier.

Adapting to the individual student

A student's decisions are recorded as they interact with the environment and with Eruces's prompts. By "watching" the student's actions, the system will gradually build up a profile of the student's strengths and weaknesses.

The more the system knows about the student, the better it's able to adapt the educational environment. For instance, different choices can be presented to the student according to their past actions. A student who has shown a weakness in one area will be guided through a side-route in the environment to better explore their weak area. On the other hand, a student who has not shown a weakness in the area would automatically skip over the elaboration of that area. For example, on page 1 of the tutorial map [PDF]: To teach the student about computer security, they're given the opportunity to let "Poons", the evil snoop, watch them as they type in their password at a computer console. Those students who allow Poons to watch are given a little extra lesson about the dangers of someone being able to read their password by watching their fingers touch the keybaord. Sudents who tell Poons to go away would skip over this little lesson. ('Perhaps a silly and contrived example, but you get the point, mehopes.) A simple Content Planner is used in the Eruces system to accomplish this dynamic lesson-generation.

Tailored evaluation

In addition to on-the-fly adaptation to the student, the system can offer a more complete lesson after the student has completed the tutorial. A special Recommender takes into account the entire tutorial session and weighs the student's behaviour against the bits of knowlege in the environment that have been flaggeds by a teacher as "learnable", or something that the system should pay paritcular attention to while the student explores/interacts.

Conclusion

Although nowhere near state-of-the-art, this little assignment was a really fun experiment to actually implement some interesting ideas. There are a LOT of things that had to be totally hard-coded. The content planner, the user model, even the decision criteria of the recommender. In future exploration, I'd like to experiment on how to make these elements less reliant on hard-coded facts, but rather on some intelligent facility to transform a knowledge base and a student model into a totally personalized lesson for a student.

[page 1, 2, 3]


* java applet

See the guts!

Content Planner
Knowledge Base
Recommender
User Model
Eruces Himself
Domain objects

Treats

Our hero's name is 'secure' spelled backwards.

Our arch enemy, the evil Poons, is 'snoop' spelled backwards.

Eruces's theme song! [Quicktime MOV audio]
This is the first 30 sec. of Tainted Love performed by Marilyn Manson, published here without permission. This song popped up on my playlist as I was programming one evening; I thought it sounded cool. :-) (BTW, If anyone knows of a handy dandy freeware MOV to MP3 converter, I'd love to hear from you.)

Tutorial Environment
Background stories


Okay, so my little JPG drawings are kind of crappy... but they have stories and culture behind them, anyway. :-P


Eruces's Mom
Who's the girl who designed and wrote all this? Why, it was Stephanie, Computer Science student. Although the system was written in April 2004, I never got around to making this website until March 2005.

Source code
(yeah, I'm giving it all away.)

Open *.java files in your favourite text editor. Indented classes are not required to run the original application. Those classes with the 'Applet' suffix are to replace their parent for the web-based version of Eruces. Finally, the RecommenderDriverTest shows you a quick and dirty way of building up a user model (rather than building one gradually as the user navigates through an environemnt) and also how to extract a set of customized Solutions for the user from the recommender.



Leave a comment!
blogs.usask.ca/slb534