Index - Environment

December 22, 2007

Christmas time & looking into one's past

Christmas time always reminds me of previous Christmas-times.

We make a point of setting aside our busy lives - as painful as that is - (I myself am guilty of feeling, "I don't have time for Christmas, there's so much to do! Ugh!") - and even if it's just for a day or two, we stop to hang out, eat deliciously fattening food :-), and spend time with the people from our past: our families. We keep in our hearts the ones who can only be a part of our past: those who have passed away.

For me, 'tis a season of reflection.

This morning I spent some time in digital nostalgia, poking through some of my old projects. One of them is from my days as a middle-years Comp. Sci. student. I drew pictures of "my House", a product of my imagination, and strung them together with some rudimentary image maps. They now appear in the sidebar of this blog; feel free to have a look. There are about 15 rooms - can you find them all? :-) Go ahead, I'm inviting you in; click the front door.

http://blogs.usask.ca/slb534/House

Heh, heh. 'See if you can find the part where you leap off the deck and then eat an apple.

The sun room with my iMac is also kinda hard to find, but it's cool.

I have a few notes/regrets to publish along with the resurrection of my old house:
1) window.status messages: I really regret that these never became more popular out there on the WWW. As a site designer, I loved the ability to put in supplemental/optional/enriching information that would appear for a user to enrich their experience should they choose to look, while at the same time staying out of the way for the users in a hurry to keep clicking deeper. When I programmed my "house" site, I used a JavaScript "window.status" call to add extra information into the web browser's status bar. I don't know if there is a proper W3-way to do it these days. Anyway, my notes are still programmed in there, but they don't seem to be appearing in any modern browsers. Oh well.

2) On the same note, there are no supporting links to accompany the image maps. Originally, I was relying on the user's cursor to change from an "arrow" to a "hand" as they hovered over the image, and a tool-tip would highlight/hint more on what would happen should the user proceed into that part of the image. Again, at the time I didn't know how to follow the W3 standard - or if there even was one at the time - and I've never gone in to bring the code up-to-date (and I probably won't) so I will just say "Sorry!" in advance here.

3) Link back home... Once upon a time, my house here is what you'd get if you visited the domain www.stephaniebaribeu.net. I stopped paying for the domain name, and it's expired. Not to mention that my name is no longer "Stephanie Baribeau". heh. Consequently, the links back home don't work, so you'll have to use your browser's Back button. Sorry!

4) Looking back at some of my code, I now cringe. But this was the year 2003, I was such a n00b when I wrote all that. lol

Posted by Frozone December 22, 2007 02:22 PM | Comments (0)
categorized under Environment

July 25, 2007

A Living Environment: A popular science book on quantum physics inspires questions about virtual environments

Some six months ago I started reading Programming The Universe: A Quantum Computer Scientist Takes on the Cosmos by Seth Lloyd. I read about a third of it, and lately 'have only just picked it up and started reading again.

The reason why I purchased the book is that I was interested in a scientific perspective on how information - or even raw data - could be packed into a physical thing and then drawn upon in real-time as sprites pass through the evolving environment. What is fascinating to me is the concept that the molecules that make up a physical thing are not only there as matter, but are also serving like the 1s and 0s in a computer processor and that the entire universe is actually crunching numbers for a higher purpose.

In a way, I wanted to see if physical objects in a virtual environment could similarly capture data "within themselves", especially if those physical objects were representations of concepts-to-be-learned in an educational environment.

I'm sort of in an odd position in that I'm struggling to phrase "The Question". I know that I'm looking for something, and sometimes I feel like I'm hot on the trail for an answer, but I haven't yet figured out what to ask!! (Mmmm, I love research!!)

Questions, then: Wouldn't it be cool if you could just lay your hand on an object and then know everything about its history, how it was made, and who used it? This would be an application of data-packed-into-a-thing for queries of a historic nature. What other applications can I think of? Ah:

What if you were trying to understand a concept: how could "smart" objects in an environment help you? For example, maybe you have a large payment you would like to make, but haven't decided if you want to take all the cash out of your account at once, roll the amount into your current mortgage, maybe start a second mortgage, or maybe start a personal line of credit. So many options! And, as the banker explains all of this to you, your eyes glaze over and you struggle to keep up with the lingo. Wouldn't it be lovely if a nice diagram were made available to you and you could move around visual representations of your funds and watch as the interest rates accumulate over time? Maybe I'm just dumber than the average joe, but I need help to understand everyday things more often than not, and I dream of having an environment that would allow me to see and touch abstract concepts so that I am able to anticipate consequences and thereby make better decisions.

This afternoon, I logged into Second Life with the noble purpose of exploring its scripting language so I could build what I have just described in the previous paragraph. Alas, I didn't get very far!

I did come up with more questions, though, where having data "packed in" to a physical object in the environment may apply in a solution:

How do I see who is close to me? Could the environment itself record that kind of data? How about a list of names of the people who were here *recently* but are now gone?

How do I know "who hangs out here"? Like, what if I travel to an area that's totally deserted but there's some neat architecture and some interesting resources lying around: how do I know which groups are affiliated with a particular area? Can I expect anyone to show up soon? How do I know if the people around here are friendly and if their interests are similar to any of mine? How do I know which people are "older" (more experienced in the topic-at-hand) and which ones are "younger" so that I might be in a position to help them?

Re-reading my questions, I'm sure that there are tons of academic papers on the subject. 'Time to roll up my sleeves, methinks! In the meantime, check out my Second Life comic series where I attempt to explore such questions in comic-strip-format, to be added in moments to the right-hand column of this blog, under Other Projects!! ;-)

Posted by Frozone July 25, 2007 04:06 PM | Comments (0)
categorized under Environment

May 12, 2007

Living 3D, Memories & Change

It's harder than I thought, coming back here and sitting in front of my blog after such a long hiatus. So much has changed; A month ago today I had a different job, and I wasn't dealing with the death of a loved one.

Despite all the crazy things that happen, somehow, some of us are still here on this Earth and we've got to figure out just what to do with ourselves: How do we keep going? Why are we here? When will I find time to do everything that I want to do, and why am I so busy, anyway, when all the business of life can be so irrelevant in the grand scheme of things? Is it okay to still value the things I valued before? How can I be available for all the people that rely on me, and does anyone really need me anyway? So many quesions!

Today, I want to talk about 3D and computer games. Is that silly and childish in the "grown up" world, where certainly there are more important concerns?

I've been having a lot of conversations lately with colleagues about teaching and learning in 3D computer environments. As a retired gamer, these conversations strike nostalgic memories for me: remembering the joy of exploring new worlds, hanging out with friends and of accomplishing great feats together in-game. Isn't that the dream of every computer scientist? To turn school into a computer game? (In a deep, dark corner of my soul, that is what motivates me, too!)

Maybe this is '90s mentality, but I also feel guilt for enjoying time spent in-game. Is it okay to have friends that you've never actually met in person? To interact with people through a computer game that you pay some $20/month subscription to participate? Maybe I should have spent those years developing friendships with my flesh-and-bone acquaintances instead. But, looking back now, I wouldn't trade those memories and those in-game friends for anything. It doesn't even matter that we don't keep in touch anymore: at the time, we had great experiences and each grew up in our own ways. Circumstances changed, time passed, and now we are all somewhere else, doing different things.

The point of my blog entry today is to explore the boundary between deep-thought & academia, and the social-level of people interacting with people, and the hope that maybe 3D game-like worlds can help bridge the two. In my gamer experience, the deepest thought and the most intense interaction with subject-material occurred when a person had individual time to mull over subject-material and prepare something that would be put forward to the group, and at that time a less-intensive activity among group members would allow us to interact with the subject-material together and share our own impressions and differing ideas, while each adjusting our own preceptions and understandings.

As I get older, I'm slowly learning that not everybody is like me. (heh, heh!) Personally, I learn most effectively when I've absorbed the material on my own and can kick back and relax later on in a group setting where I watch people "being silly", and not concentrating as much as a group, but still sharing the subject-material with each other and mulling over it in different ways in different angles that weren't possible on an individual basis. My own perception of group-activity is that it's "less serious" and less effective for learning, but still important to help with the overall big-picture understanding of the subject material. Apparently, not everyone perceives learning in the same way that I do... :-) Some people get their "deep learning" from participating interactively. I'm not one of those people, but I certainly would like to come to a better and more loving understanding and respect of that type of learning.

Educational psychology aside: For learning in 3D worlds, there are ways to interact with subject-material both on an individual basis and on a group-basis, though certainly instantiating "subject material" in a 3D world is a huge challenge. Say you're learning math. How do you put that in a 3D world? But that is a problem for another day! Before tackling specific subject-material, I wanted to focus on the abstract infastructure of learning in a 3D environment. I spent some time trying to develop a "master algorithm" of sorts that would facilitate the different types of learning styles and encourage participation and, most importantly, would further each person's understanding of the subject material through their participation. I wanted to find a way that would get people working together, would encourage them to pursure the subject material, and would be highly visual and interactive using the 3D environment.

I noted that clusters of people around a particular piece of subject-material can be like a circle, with a core group of people who area really interested and highly involved in the material at the centre, then on the fringes would be people who have passing interest in the subject but are not intensely involved or motivated. Later on, I learned that other people were calling this circle of people a "learning community", to use present-day lingo. For the sake of the game, I imaged a goal and a set of restrictions:

The Goal: Distribute items of value (physical objects that you can see in 3D) to players/learners participating. The nature of the game is that each person is always seeking a certain kind of item in order to reach their goal: the item being a fact or tidbit of knowledge for an assignment, a technique, a "learning object", whatever.

The Restrictions: Physical distance, "monsters", artificial challenges or obstacles to surmount, puzzles, games, problems, exercies, drills

Next, I outlined different levels of participation. There were 3-5 core people who would have to take some initiative and specifically gather certain items and go out of their way to distribute them to other players in order to jumpstart the network (or "master algorithm", however you think of it).

On the other extreme, on the outside of the network where people have only passing interest and are mostly preoccupied with other things, I wanted a stranger to be able to contribute smething very small in an impersonal manner - very low risk - and receive something small but beneficial to them in return. (The thing that they are contributing could be anything: food, a picture, a though, a snippit of a composition of music that they had created, a few minutes of their time completing an easy activity, etc.)

Gradually, as you become more involved, you spend more effort gathering items to contribute and in turn you receive more in return (material things, experience, coming to better understanding of subject-material, etc.).

The algorithm, if you'll call it that, looks a lot like a bartering netwoork, but distributed at smaller hubs, using focus to bring forward material that is interesting to you. The advantage is the "sorting" of relevant material up from the masses of knowledge out there that would otherwise be impossible to sort though. The algorithm is also designed to foster collaboration -- it's people themselves who power the information-flow though their efforts and their desires.

The whole thing is so abstract and hard-to-reach that I didn't get very far. I tried to implement the thing with a few friends in EverQuest, where we would actually trade weapons and armor and stuff as we each worked on our own quests and gained experience, but it was way to hard to study a computational model when I didn't have the motivation or desire, really, to get my friends to act like puppets for my experiement. Then, when I came back to read my notes I thought that I was talking nonsense and wasn't going anywhere, and maybe everyone would think I was a busy-body lunatic. Oh well. =)

My notes keep going to talk on about how technology has allowed us to transcend space and communicate without restriction, and about how I am interested in how technology is also transcending time, allowing us to transfer knowledge (ex. reading & writing) without actually meeting at the same time, and about how people can leave nuances and shadows of their personality behind like fingerprints to share their knowledge and experience with others without practical restrictions holding them back such as commitments to meetings, conference calls, stress, laziness, etc.. But now I'm getting rambly and I think my blogging is done for the day.

That was actually refreshing. As always, now I shall conclude with a commitment to go do some housework. Bye!

Posted by Frozone May 12, 2007 12:06 PM | Comments (0)
categorized under Environment

January 14, 2007

Information Layout in 2,3, and 4 dimensions

Sometimes I worry that I'm too preoccupied with the magical and the fantastic, and my efforts veer too far away from real science -- like a little girl wearing a princess hat, waving her sparkly magic wand.

Oh well.

I was thinking about information layout, and about how nowdays it's so 2-dimensional. For example, on the 'Web, sites are usually organized into columns and rows; there's no depth. I struggle to find creative navigational techniques to teach my students -- I have taught lessons on making tabs, drop-down menus, 3-column layouts, image maps, etc. -- but all of that is stuck in the second dimension.

In the three-dimensional world, there are some successful navigational schemes out there. In Celestia, you can use your arrow keys and velocity settings to zoom around through the Universe and visit the Sun, the moon, Jupiter, Pluto, Andromeda, or the NGC 3227 galaxy, if you wanted.

My first experience in Celestia mildly frightening: Travelling ten-times light speed and becoming disoriented with the navigational controls, I looked around - "What is Toutatis? Kleopatra?" They were asteroids, and I was speeding by somewhere near Jupiter. Whew! It was really cool when I discovered how to "Warp" between galaxies, and I saw what the Milky Way looked like from Andromeda's perspective.

'Goes to show ya that there is no limit to the amount of "stuff" you can navigate through. You just have to go at high warp speeds to move between large grain-sized nodes, and, gradually slow down your speed if you've reached a galaxy and want to cruise between the smaller stars, slow down again to visit planets, etc.. It's all relative. Celestia's use of the mouse wheel was also very good - it lets you zoom in and out so you can see many galaxies at the same time, or even just the moons orbiting around Uranus.

Another obvious successful 3-dimensional navigational scheme is in World of Warcraft, where you can walk around through villages, terrains, castles, etc. Similarly, if you are interested in executing atomic actions (talking to people, buying stuff, reading a sign, fighting a monster, etc.) you use a "slow" method of navigation: walking. To move great distances, say from city to city, you'd use a faster method: fly on a bat or bird-mammal. Once you reached the next city, you'd dismount, return to "walk" mode, then continue to execute atomic actions. The actions executed at "fly-level", however, do not affect your possibilities at "walk-level", i.e. Stopping in City-B as you travel from City-A to City-C doesn't affect what the Inkeep says to you when you land in City-C. ('Unless you're working on a "quest", but these are rather one-dimensional and are hard-coded.) Actions at large levels should be able to subtly affect the possible actions at smaller levels.

I'm interested in building interfaces in the Educational domain where actions at large-grain levels -would- affect the system's behaviour when you moved back down to smaller-grain actions/concepts. For instance, as you move from subject to subject, the analogies that the computer could make back down at the "walk-level" will change according to your past experiences at the "fly-level". For example, if you think of "cities" as "subjects", then, as you navigate from "Math" to "English" and you learn something about English, then the computer can now draw upon references in that domain (ex. characters from a work of literature) to use in the context of, say, illustrating a concept in an integration problem. The computer could contrive an example involving Sir Lancelot and Lady Gwenevere from that morning's English Literature lesson:

"Sir Lancelot wishes to build a wishing well for Lady Guinevere, and he knows the diameter of the well's opening and he also knows the well's the depth. How would he calculate the volume using a Riemann sum?"

I have to pay attention to the distinction between "content" and "delivery": A pretty 3D interface doesn't necessarily mean that the system is more advanced when it comes to planning lessons and tutoring and so on. However, more dimensions in an interface does provide more flexibility in the manner that lessons, plans and possibilities are accessible to a student.

More interesting, I think, is the multi-dimensionality of information presentation (not "how it looks" but, rather, "what it is; which information") and how different scraps of information can be mixed and matched together. I wonder if such lesson-crossing *would* evenutally require a 3d layout to navigate though. Hum.

How about a 4-dimensional interface? If you could see in 4 dimensions, then, you would be able to see all six sides of this cube at the same time. (Forget for a moment that you are reading this on a computer screen.)

Thinking both content-wise and display-wise, would the use of 4 dimensions give us yet more power and flexibility in terms of how we can "navigate around" our education?

I have enough trouble visualizing 4-dimensions in space alone, let alone knowledge-organization. I stared at this four-dimensional "cube" from Wikipedia for about ten minutes and tried to think about the problem from different angles:

Was the fourth-dimension perhaps a way to operate on the very levels of information-clustering (granularity) itself?

Was it the ability to examine the post-requisites before the pre-requisites?

Was it the ability for each type of knowledge, to "peek ahead" and see what it will look like after I have worked through what is currently on my plate? i.e. all the "atomic actions" of exercies and assignments I'm supposed to do? This is reminiscent of possible worlds or parallel universes or "lines of possible destinies" or whatever.

Was it the ability to see everything in reach at once? (i.e. all possible next-steps in all subjects) And move them around?

Or, is the fourth-dimension the ability to pause on a problem, meditate on it, and then be able to draw in all of the relevant references to abstract knowledge for that specific problem that may currently be "scattered" (well, organized) in my current "planet" for this problem. References to items in the coarse-grained subject "English" may be "way over there" because I'm working on the subject "Math" right now, but maybe task-domain-knowledge references from both are required to solve this problem, so I need to be able to reach beyond "here" to grab all those references and apply 'em to my current activity. The references to knowledge are always "here" anyway, just not in my "walk-around" mode-view.

How would you generate visualizations for all of this stuff? It would be cool to draw upon an API for Terragen or something and then build an Earth/trees/forest/planet/universe/buildings/rooms metaphor to help orient abstract knowledge-navigation into something understandable.

Further, I think it's important for learners to be able to create their own "thoughts", kinda like how you can make your own physical objects in as in Linden lab's Second Life. (At the time of this writing, the hyperlink shows a virtual-man using his "thought-powers" to create a guitar before our very eyes. So cool! =) )

Lots of questions, and now my imagination is sore. 'Time to get back to reality, I think, and maybe pull out some more papers.

heh heh heh

Pretty picture from jandingo.com.

Posted by Frozone January 14, 2007 10:50 PM | Comments (0)
categorized under Environment

Index to Steph's Notes

Feb. 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
  1. Representing meta-data (fuel) & the different kinds of "hooks" that intelligent systems can use (how fuel is injected into the motor of the engine)
    1. Motivation: Semantic net / Rationalizable to a machine
      1. Semantic network
      2. Genetic graph
      3. Prerequisite AND/OR graph
      4. Constraint Satisfaction Problems
      5. Bayesian networks / causal graphs
    2. Technology & Philosophy: RDF, modus ponens,
      1. Predicates, Logic & situation calculus
        1. When in doubt, do some math
    3. What kinds of data? - What kinds of meta-data would an AIEd system possibly need, and how is it represented?
      1. task domain knowledge
      2. "is-prerequisite-to"-type knowledge
        1. Jackpot! A pedagogical ontology
      3. interactions with learning objects & other learners - (location, composition is-a/part-of, sequencing by restricting navigation, personalization, ontologies for LO context)
        1. Types of 'Ecological' data
      4. lesson plans, curriculum plans, practicing sessions (What is stored, what is generated on the fly? What is remembered?)
        1. Agent memory
    4. 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?
      1. Database of object-agent interactions
      2. 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.
    5. Links to the ontologies
      1. referring to a concept/relationship - ex. AgentOwl?
        1. Using Vocabularies in JENA
        2. Referring to a concept/relationship in an ontology
        3. Improved: Referring to a concept/relationship in an ontology
        4. Using OWL to reference constraints in tutoring systems
    6. Generation of this data
      1. Rationalization: For use by other AIEd systems
      2. What is generated - discuss items under part I.C.
      3. 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)
        1. Thinking about the system's RDF output
      4. Technical notes of HOW it's generated: JENA, issues of implementation demo, my Hermione & Ron agent examples, lol
      5. Usage of this generated data - see part IV. A.
  2. Given the engine, who uses it?
    1. Students / Learners / "Me"
      1. instructional planning, student model, pre-requisites, tutoring, coaching, collaboration,constructivism
    2. Teachers / Educators / "Me"
      1. putting together lessons
      2. 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
      3. compose examples, design explanations, pull together diagrams, learning objects, etc. Haystack Relo?
    3. Administration / Governement / Structure / Crowd Control
      1. as restrictions/obstacles/sand pit to the robot in agent environment
      2. 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
      3. government, marks, certificates, requirements, funding, curriclum, attendance, delinquent, non-attending, motivation
      4. school''s images, goals, strengths, payroll, HR, security, accounts, permissions, privacy
      5. registration, failed courses
  3. User Environment -- How does this engine work? What does the user see on the screen?
    1. 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.)
    2. 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.
      1. 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.
      2. "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
        1. Educating myself about Education
  4. Evolution of this engine
    1. target some key implementation hooks discussed in part I - design an experiment/demo
      1. scrape a page - (Note, scraping can only give objective data, not in-context dat)
      2. LO repository - related to browsing the task domain?
      3. a learners "To Do" list - where does it come from? Assignments, courses.
      4. sample group scenario
      5. sample teacher lesson planning
      6. sample data "left behind"
      7. sample use of that data
    2. Data mining (for what? lol )
      1. discovery / generation of ontologies - when do you need to hunt for them, and when do you have to have a solidly-known & predictable ontology?
        1. Ontological Engineering: taking a first bite
    3. I/O - where it happens, which languages, protocols, which agents perform i/o and when, precepts, actuators
      1. Role Assignments
        1. Levels of authorization in web applications
      2. My Environment Adapts to me
        1. Displaying feedback from the server on JSP pages (Software engineering considerations)
        2. Sketching out a design (Content planning vs. Delivery planning)
      3. agent negotiations / social structures / ummm... Web 2.0 ?
        1. Towards student modelling
        2. Anatomy of an agent
    4. garbage collection of meta data
      1. Artificial Intelligence & Evolution
        1. Memory Culling: Necessary part of intelligence? (artificial or human)
        2. Applications for the Genetic/Evolutionary algorithm
      2. open learning environments
  5. Agents, pets, grouping, Community modelling
    1. Protocols - finding groups, cyber dollars, state diagrams (?)
    2. "Community Studies" - graphs & communication hubs, types of communities (free-for-all, hierarchy of authority, etc.)
    3. implications of joining a community - what do you share, which parts of your student model are relevant
    4. Walls & sand traps -- deliberate restrictions as problem-solving for learning
    5. 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.
  6. 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.)
    1. Semantics - what there is to talk about in Education
      1. ex. Merril's First Principles of Instruction, linking educational terms to AI terms
        1. Educating myself about education
    2. Pedagogical skills for tutors -- supporting human *and* artifical tutors
      1. Modelling teaching strategies
      2. What is teaching?
      3. Decision theory for teaching strategies
      4. My pedagogical issues
      5. Ontological comparisons as spatial relationships
    3. Student modelling - what the machine needs to know about the student, pedagogically-speaking, about learning history/preferences
    4. Roles - Simulated students, Coaches, Tutors, Teachers,