June 15, 2006
Sketching out a design
This is really hard. I'm stuck between the theory and the application.
The whole point of my project is to build something - a toy. The last time I did anything constructive was 2 years ago in 2004, when I built Eruces. The only way I could have built Eruces was to make some very serious assumptions, the most notable being that I had a 1960s-era hard-coded instructional plan. As I learned in an algorithms class, if you want to bring a problem out of non-deterministic space into a programmable, deterministic space, you've got to add in some assumptions/restrictions.
So. As I sketch out this design, I often stop myself with worries like,
"But, someone out in the great wide world is surely already doing work like that, and is probably doing a better job. Why re-invent the wheel? Shouldn't you instead focus on expanding on existing work rather than starting from scratch on your own?"
At the same time, I want to build something complete enough in itself that it can be tinkered with and developed on its own. When this toy gets good enough, I intend to share it with real teachers and maybe even offer it as a toy in a real online classrooms so students can fiddle with it as bonus course work. The thing I have to remember is that I can't possibly expect to build a perfectly scalable and complete system on the first go. And now.... "Quit the worrying and git back to work!"
The primary computational environment shall be in JADE - the controller is the agent environment and all of the interacting objects will be agents. I will focus on the delivery of the system from a student agent's point of view, knowing that interfaces can always be built for the learning object agents (ex. excercise development) or teacher agents (ex. helping students with their learning).
My toy system shall contain hard-coded learning object agents from an existing Cyber School course. I've chosen part 12 of the unit on "The Atom" which is a part of grade 11 Chemistry, taught and designed by Norm Lipinski. This section is entitled "The Quantum Model" and contains 5 sub-components:
- Erwin Schrodinger
- The Heisenberg Uncertainty Principle
- Quantum Numbers
- Electron Configuration
- Orbital Diagrams
There is a quiz at the end of 'Electron Configuration'.
(How come I didn't get to learn this juicy stuff in grade 11? Maybe quantum theroy hadn't yet reached Saskatchewan's high school chemistry curriculum by 1997. Or, maybe I've simply forgotten that I learned it, not being able to appreciate this material at the age of 16.)
In addition to hard-coding in the learning objects (more on this in next paragraph), I will also hard-code in a suggested instructional plan - i.e. First, students proceed through Erwin Schrodinger, next Heisenberg Uncertainty Principle, next Quantum numbers, etc.. Later on I will expand into a dynamic content planner as inspired by Dr. Brecht's thesis.
I'll also expand on my hard-coded learning objects by building in a discovery learning object element by using the continually-expanding knowledge repository as maintained by our Cyber School's digital library. The data shall be pulled in simply by discovering the items in an RSS feed - Grade 11 science. Some new objects will be relevant, some won't (ex. biology). This may open interesting garbage-collecting work. (note to self. read some of Ms. Tiffany Tang's work.)
Maybe I'll be able to do something like:
//determine what to show next (eg. Schrodinger, Heisenberg Uncertainty Principle, etc.)
ContentPlan cplan = teacherAgent.getSuggestedInstructionalPlan(); //this would eventually be automated for the individual student's needs rather than getting a manually-built one by the teacher
//determine how to show it
deliveryPlanner.getDisplay(studentModel, contentPlan); //???? How does Dr. Brecht's system organize this??
I'll have to figure out how to build a Navigation scheme for the student according to the content plan - perhaps using Apache Turbine. Next, I'll have to explore different delivery possibilities for each learning object. I've used Apple's VoiceOver utility to record audio versions of a couple of these articles for an auditory alternative to what Norm has typed out for students to read.
I wonder if I can use the Apache Commons' Logging libraries to generate RDF traces of interactions between agents.
Okay that's enough for now... time to go grocery shopping.
Posted by slb534 at June 15, 2006 11:02 AM