I like the look and feel of it, I just think the content should be tweaked a little bit to pick up the pace. Maybe some hints they can look at if needed.
Also, multiple language support would be good.
I like the look and feel of it, I just think the content should be tweaked a little bit to pick up the pace. Maybe some hints they can look at if needed.
Also, multiple language support would be good.
One of the biggest things I'm thinking about is determining the adaptive algorithm that places you on different portions of the learning experience.
My current strategy is to compose a concept map of all the basic concepts and then devise a proficiency metric on each concept, which might be some aggregate of [correct on first attempt + time to completion + learner history] or whatever else I think of. Then you progress through the content by traversing this graph (with a fair degree of stochastic nature so to keep things moving). I'm hoping collected data can then be used to devise a new concept graph - something of a dependency graph whose density might ultimately reflect an element interactivity [1].
For example, function use might be considered a singular concept, while a function which returns a function might be another concept. The latter is a bit more exotic to newcomers and you can use the metrics determined by the former to gauge a pace to give the learner, but it's a foundational concept which most concepts in functional programming depend on and it might not be fair to consider it a single concept in the learning process until the schema is well-established.
Ideally, within a few questions answered you get pushed up to a state where you're actually learning something, no matter what your proficiency.
[1] http://www.davidlewisphd.com/courses/EDD8121/readings/1998-S...
Drilling a bunch of similar questions helps keep the concept in my head. And it's not that many, anyway.