Khan Academy Intros Free Programming Lessons
- By Dian Schaffhauser
- 08/16/12
The Khan Academy has introduced a new computer science platform that teaches users the basics of programming by allowing them to manipulate code and see the effects of their changes side by side. The academy is a non-profit education organization that provides free digital materials and resources for anybody. Resources include a library of about 3,300 videos covering math, science, history, and other subjects.
Computer Science both teaches and is written using JavaScript. Graphics are generated with Processing.js. Students can see the code associated with a project, change it, and save it to their own Khan account.
In a blog entry about the platform, project lead John Resig said that his goal was to target people "with no programming knowledge and give them an engaging and fun environment to learn in." As he added in a video about the project, "We want everyone to see the code and the thing that's running simultaneously You should always feel willing and excited to change what's there and make it your own. So we want to really heavily encourage exploration and experimentation. I think this platform is going to do that."
Whereas most computer science education starts off by teaching how a computer works or basic programming concepts, such as what a variable is, Resig wrote, he believes a more effective approach is to "put the student into code of graduated complexity and encourage them to manipulate, explore, and write their own programs. Once they start to explore and figure out things for themselves, then they can begin to dig into all the explanatory tutorials and documentation that are provided to clarify how things work."
For example, in an "Intro to Variables" lesson on the site, the documentation explains that a variable "will save you time and space, and you can't make animations without them!" Then the viewer is presented with a small snippet of code that can be easily manipulated by clicking on it and changing the color, position, or shape. That code in turn can then be "saved as" and used as a variable with other programs elsewhere in the platform.
Users are encouraged to post questions and add comments, view documentation, and listen to an audio recording of a guide who walks the viewer through an additional explanation of the code.
Resig said that all code on the site is "open, experimentation is encouraged, and feedback is easily provided." Users are encouraged to share their work through the site, as well as Facebook, Twitter, and email.
Ultimately, Resig noted, the platform tackles what he considers "the most challenging problem" with computer science education: "Getting people excited about programming. If we can get people excited about programming, and build (or point them to) the resources they need to learn more then we will have been successful."
About the Author
Dian Schaffhauser is a former senior contributing editor for 1105 Media's education publications THE Journal, Campus Technology and Spaces4Learning.