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.
Post a comment
Index to Steph's NotesFeb. 24th 2007 - Weee! This new part of my website is not an entry, but rather a permanent fixture whose purpose is to "Look Down on All Those Notes With Some Grand Vision of Organization". Wish me luck. LOL
- Representing meta-data (fuel) & the different kinds of "hooks" that intelligent systems can use (how fuel is injected into the motor of the engine)
- Motivation: Semantic net / Rationalizable to a machine
- Semantic network
- Genetic graph
- Prerequisite AND/OR graph
- Constraint Satisfaction Problems
- Bayesian networks / causal graphs
- Technology & Philosophy: RDF, modus ponens,
- Predicates, Logic & situation calculus
- What kinds of data? - What kinds of meta-data would an AIEd system possibly need, and how is it represented?
- task domain knowledge
- "is-prerequisite-to"-type knowledge
- interactions with learning objects & other learners - (location, composition is-a/part-of, sequencing by restricting navigation, personalization, ontologies for LO context)
- lesson plans, curriculum plans, practicing sessions (What is stored, what is generated on the fly? What is remembered?)
- How to organize it - When is it stored in a database? Meta-data? Agent memory banks? Protocols? Repositories? XML files? Home-servers? WSDL services? Frameworks? Portable banks? P2P access?
- Database of object-agent interactions
- Concept of "Home" on a P2P network -- maybe the bulk of a learning object's usage data is on its home server and can be queried using WSDL or something ? Similar homes for each student's usage history, etc. Baggage problem.
- Links to the ontologies
- referring to a concept/relationship - ex. AgentOwl?
- Generation of this data
- Rationalization: For use by other AIEd systems
- What is generated - discuss items under part I.C.
- When it's generated - describe procedural model, which parts of the engine generate what (isa-part-of data, XML feeds, web services, meta data bout groups and collaboration, protocols, examples Friend of A Friend FOAF project)
- Technical notes of HOW it's generated: JENA, issues of implementation demo, my Hermione & Ron agent examples, lol
- Usage of this generated data - see part IV. A.
- Given the engine, who uses it?
- Students / Learners / "Me"
- instructional planning, student model, pre-requisites, tutoring, coaching, collaboration,constructivism
- Teachers / Educators / "Me"
- putting together lessons
- be able to browse through task domain knowledge in an objective / encyclopaedia format, then be able to pick-and-choose what you need for your students
- compose examples, design explanations, pull together diagrams, learning objects, etc. Haystack Relo?
- Administration / Governement / Structure / Crowd Control
- as restrictions/obstacles/sand pit to the robot in agent environment
- can't just have a swarm of students and teachers out there -- need structure of courses, curriculum, objectives, requirements (at least, we do in this day and age!) - Report cards, evaluation, feedback
- government, marks, certificates, requirements, funding, curriclum, attendance, delinquent, non-attending, motivation
- school''s images, goals, strengths, payroll, HR, security, accounts, permissions, privacy
- registration, failed courses
- User Environment -- How does this engine work? What does the user see on the screen?
- Introduction - Given a background in educational psychology, how does the system present itself -- what does the user see, and were does this data come from? Links to thoughts from part I.)
- Task Domain Browsing - Suppose you're you're just idly browsing through the "raw" content. How would it look when it's not wrapped around a learning-context or lesson or tutorial or anything. 'Cross between browsing a raw task domain ontology and browsing a learning object repository.
- Cleaning up the data -- Visualizing the data for humans to pick through the task domain and work on it. Suppose the "Subject Expert" discovers an advancement in science and needs to update the "world's" domain knowledge. (I used the "Subject Expert" terminology from Ontologies to Support Learning Design Context - Thanks Chris) How would they make corrections to ontologies and learning objects, or at least point the users of "old" objects towards adopting the newer ones.
- "Modes" - Learning & Lessons / Checklist - Homework, Assignments, Courses being taken / Collaborative mode / Teaching mode / Calendar- email -adminisrative mode -- See also the different kinds of scenarios in the ActiveMath system
- Evolution of this engine
- target some key implementation hooks discussed in part I - design an experiment/demo
- scrape a page - (Note, scraping can only give objective data, not in-context dat)
- LO repository - related to browsing the task domain?
- a learners "To Do" list - where does it come from? Assignments, courses.
- sample group scenario
- sample teacher lesson planning
- sample data "left behind"
- sample use of that data
- Data mining (for what? lol )
- discovery / generation of ontologies - when do you need to hunt for them, and when do you have to have a solidly-known & predictable ontology?
- I/O - where it happens, which languages, protocols, which agents perform i/o and when, precepts, actuators
- Role Assignments
- My Environment Adapts to me
- Displaying feedback from the server on JSP pages (Software engineering considerations)
- Sketching out a design (Content planning vs. Delivery planning)
- agent negotiations / social structures / ummm... Web 2.0 ?
- garbage collection of meta data
- Artificial Intelligence & Evolution
- Memory Culling: Necessary part of intelligence? (artificial or human)
- Applications for the Genetic/Evolutionary algorithm
- open learning environments
- Agents, pets, grouping, Community modelling
- Protocols - finding groups, cyber dollars, state diagrams (?)
- "Community Studies" - graphs & communication hubs, types of communities (free-for-all, hierarchy of authority, etc.)
- implications of joining a community - what do you share, which parts of your student model are relevant
- Walls & sand traps -- deliberate restrictions as problem-solving for learning
- Communication channels - individual-to-individual, individual-to-community, chat channels, agent-only "administrative" communications, ex. requests for related learning objects in a particular community, etc.
- Educational/Pedagogical focus (this part probably shouldn't be its own section but rather incorporated into the whole picture, but it's separate for me right now because I'm still only just starting to learn about it.)
- Semantics - what there is to talk about in Education
- ex. Merril's First Principles of Instruction, linking educational terms to AI terms
- Pedagogical skills for tutors -- supporting human *and* artifical tutors
- Student modelling - what the machine needs to know about the student, pedagogically-speaking, about learning history/preferences
- Roles - Simulated students, Coaches, Tutors, Teachers,