Codeacademy and chekio websites have a great success. Checkio allows to study by solving tasks. Codeacademy allows to study with:
- immediate practice
- by small steps
- easy to understand
The same system could be developed by using Twitter principle. Imagine: user sees a post with max 140 letters saying something new about certain area of study like:
"How to create function which is simultaneously split text by words and sorts it?"
And then after user implemented it by himself, he presses the button and system says:
"Did you know that in Ruby this function is called..."
(of course there is no such function in Ruby, but there is nothing else in my head!)
Of course, like codeacademy, system should reward user with virtual achievements.