Interesting topic, and one which I have a bit of experience in. I used to teach elementary school, a science lab, and knowing how to teach to different learning styles is a huge challenge, in any field.
From the courses I took, seminars I visited, and the numerous workshops attended, there are a plethora of theories on what the different types of learners are. I've seen them range from simply choosing certain colors and that is supposed to tell you what learning style you have, to plotting out a very specific grid.
I've seen people who were so set in one style that they would always follow that path. These tended to be the people who liked logical step-by-step procedures. You know, the type that actually wrote the outline before the paper :roll: It works great for them because that is their mindset. However, it can be hard on a teacher that isn't necessarily that procedural. Good thing is these people tend to force their own structure upon things. They don't adapt, they make the environment change to suit their needs.
Then there are those who are extremely flexible in new situations, and are able to change their learning style to fit the environment. They take a more open-ended approach to a situation and figure what's the best way for them to get the most out of the given situation. To keep with the comparison, they would write the paper from stream of consciousness, refine it, and then write the outline if required. Sounds great, but can lead to a lot of indecisiveness and having to go back and redo things because you didn't think things out "step-by-step". I'm one of these people, and I think I could probably deal with teaching myself how to be a bit more structured every now and then.
( Of course, you throw in the interest factor, and that adds a whole new factor. I am extremely self-directed when it comes to programming, math, science-related learning, and I use teachers as facilitators/consultants (to use Map's link). However, put me into a History class, and I have to force myself to stay awake )
In software development, these two extremes in thinking/learning are pretty evident, I think. I like to sit down and start writing code with a very high-level design in mind, and refine as I go. Some people can't work at all without having a Use Case Diagram, Sequence Diagram, UML diagram, State Diagram... you get the idea.
I like what you are doing with this project, it meshes these two approaches into one. You give the direction and boundaries of what to do first, second, third, etc., but within those boundaries give enough room for people to exercise their own way to approach a learning situation. With OO, that's the best way to do things. Give a general approach, but leave the details open to change.
Couldn't do this in the past because the languages being developed in didn't really allow it. Thankfully that's changed