Power to the people

Right on!

Integrating content

Here is an idea on how you can integrate different pieces of content. Instead of using hyperlinks, one can think of the articles and paragraphs as complex blocks. Taking your example of linked lists and C, you can have a short intro to C with one paragraph about linked lists. This paragraph should be connected with a more detailed explanation (say, one page) and even a longer article (say, ten pages). This way, it will be possible to preseve a linear structure (it might be better for a textbook) while allowing to customise the material.

When someone starts using such textbook, he can pass a short test that would determine what he needs to learn. If linked lists are necessary, the textbook will include the longer explanation by default.

This doesn't really help to prepare such materials, but once you have them, it might be helpful for personalisation of content.

the existing channel based info-buffet that we enjoy as bipedal hominids is absolutely fantastic! The radio stations, television broadcasts, video rental networks, gossip, web search engines, usenet servers, the domain name system, the FTTP_CDRW interfaces, the peer2peer as in beer, the messaging, the immersive and the interactive (up to and including war, actually). Oh the inexpressibly cardinous (numerous) set of all possible tounges of thought!

It also has some "settling down" to do.

Your Idea won't work. Information is too slippery to put in a tree. Even a tree with lovely nests as you seem to have worked out in excruciating detail here. Information'll always slide out and flop all over the ground. In fact, no matter what container you put it in, information always escapes away from you. Despite some people, who want information to be free so that free can become valid consideration in a contract, Information leaks. Out of the tree and into abstractions that come back and affect your original understanding. (As others seem to have noticed as well), Your article would be more usefully interpreted as an on-line information resource, chaturbate user interface design, How and What to.. article.

If I can "embrace and extend" an idea from Greggory Benford::Sensorium; Take your five senses, or if you prefer Gardner, your sensory modal inputs.. plus all of the stuff you think automatically when you first get a stimulus, you know.. like all of your knee jerk reactions. Add that to all of your ongoing but unconfirmed suspicions. Throw all of your current propositional(the ones that can be sensibly stated) and nonpropositional (the ones that can't) beliefs on to the pile and finally add your habits, passions, inklings and inclinations. and you have what I will now refer to as your sensorium. This is the part of you that brings data to the rest of your mind (pun::can you guess which part "the rest" is?). Do not be distracted by the fact that this is also the internal shape of your life.

Your sensorium improves in both resolution and accuracy; with training (take training in the broad sense here).

My point is that a well developed sensorium is the proper user interface for all_of_knowledge, not a tree. So to E'n_E some wild west Darwin, come down from the tree, train yer-self up a right-smart-sensorium ta use, and dig in to some of the fruit that your descendants have made to share with you.

By the way; Really cool article!

Examples, examples, examples

Speaking as another self taught programmer the most valuable and informative education I've experienced has been through crawling over other people's work and seeing how they've used a particular command or syntax. Include the option, therefore, for jasminlive users and editors to add any and every example they think is relevant to a given lesson... (with the editors having the final say on whether it really is relevant)

to provide the framework for this curriculum (which sounds like a great idea) I'd suggest Martin Dougiamas' open source, PHP/MySQL learning manangement system, which has such things as quizzes, assignment posting, gradebooks, peer review, course creators separate from site admins, active community of users constantly adding new features and a commited lead developer expert in online pedagogy (who's also a decent programmer:-).

In fact at my dayjob we've been testing/reviewing open source LMSs as alternatives to our $70,000 LMS and Martin's product, Moodle is about the only Open source LMS we've found to be feature complete (compared to the high end commercial systems like Blackboad and WebCT).

Framework

go look for existing projects on the net, figure out how your idea is better, make sure it is way better, start coding, set up a project on sf.net...,

just please, please, please, don't focus too much on framework yet - rather start gathering data, until you see how much framework is really needed.

do keep k5 updated on your work, I'll gladly contribute.

my random ideas if you need em -

1. it's probably some sort of a graph than a tree.

2. each 'article' (e.g. linked lists) should come in different variations, or perhaps optional sections - one might want to check O()'s on operations on linked lists, another a proper way to implement em in language X, in which case, I'd see the presentation as a table with collapsible columns, say theory on the left, C examples on the right, and ML, Java and general concurrency issues collapsed.

3. the way I see editing work is that Another Random User creates an alternative version of a particular topic, or part thereof, and then one of original author, generic site editor, actuall readers decide which Jasmine live version is better.

4. however distributed the site is, I think it will still need at least semi-permanent editor that kill garbage articles, correct factual errors or coding style, and so on. Such person is sort of like last authority in the conflicts between authors and stuff. In short, users cannot be relied on to author articles too well, or to use the framework too well.

A lesson from history: let it flow...

By experience we should know that any natural process like learning shouldn't be considered but from the close need of it.

WWW is very new, but in a close time, this need is going to arrise as something imperious to solve.

That would be the exact moment of starting compiling all the partially developed ideas.

Like for example wiki forums. They have almost reached your idea. Every new concept that we want to acquire,to be understood, needs a lot of concepts and parallel thinking. It might be like the structure of a tree upside down where every branch joins with others until reaching to our actual situation.

That is: one cannot anticipate what is required to understand any new concept. But everybody can check what he doesn't really understand (just being honest with himself).

A well structured wiki might let you learn everything and later return to your previous situation of learning a new concept.

There are a lot of teachers that are anticipating the future of learning. I think that they are idealizing an ancient time when learning had no divisions. It was just an interesting dialog that let everybody explore new concepts and learn at the same time lots of subjects: psicology, mathematics, biology, literature, etc.

But we shouldn't plan how it is going to be done until the need becomes evident for everybody.

I think that in the future the www is going to be like a universal mind. And that is going to have even techno-psicologysts to repair it from time to time :) .

knowledge holes

I spent a few years learning how to learn in order to get through grad school without failing out. The other guys simply learned faster and I did so I tended to land on the bottom of the curve. To survive I had to figure out what they did that I did not. I managed to find it and restructure my learning effort a bit, but not enough to make a really big difference to my grades. I did survive though.

Along the way, I learned something very useful that wasn't on my goals list. I learned that those knowledge holes actually prove useful to the evolution of knowledge as a whole. Think of them like mistakes in your genetic code and you'll get an idea of what I learned. Every one of us fabricates ways to know how to do a variety of things. Because of the mistakes and gaps in our knowledge, each approach can be treated as though it had a genetic source. Some of the end results thrive and others don't. Occasionally a mutation occurs, though, and what used to be considered knowledge gets dropped or changed.

I'm sure most fields require a great deal of the knowledge you have to be good and self-consistent. Little animals don't get along well, after all, if they can't even make proteins. However, don't be too harsh on the mistakes and gaps left by the chaotic learning process. They are the very things that make it possible for the state of knowledge to advance. Make sure they are small enough to ensure you can survive and grow, but don't strive TOO much for conformity and order.

I like the idea of the tree. Unfortunately, I think you'll find many lessons, of not most, have multiple "parents", or prerequisites. Your tree then turns into a network of nodes organized in layers, each layer containing nodes that point to one or more nodes in the previous layer. And, since there's no reason to think that any given node's parents will exist only in the previous layer, we have to again expand the complexity and allow nodes to point to parents in any previous layer. At that point, we probably have to give up on the notion that we can categorize our nodes into "layers", and instead allow a free-flowing graph of nodes that hopefully have no loops, orphans, or conflicting dependencies. Fortunately, I don't see that as a problem.

Even so, it seems like a useful idea to implement somehow. I especially like the option for commentary on any given node.