Khan Academy Launches New Introductory Computer Science Curriculum
Written by Sue Gee
Wednesday, 15 August 2012
Instant gratification is a principle that you will notice in the introductory video for the new computer science curriculum which demonstrates how, in the platform John Resig designed, the code and its output are presented side by side and how, as you alter the code you immediately experience the effect:
Rather than starting Computer Science education off by explicitly teaching how a computer works or fundamental programming concepts (like variables, logic, control structures, etc.) you 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.
The desire to learn and understand can be a powerful accelerant for students and it's something that is completely missing from almost all Computer Science education.
The classes are intended to be approachable by all ages, but the presentation will probably appeal most to kids aged eight and up. Have a look at the launch video recorded by Sal Khan and John Resig for the flavor of the material.
This isn't an approach to Computer Science you are likely to encounter at University level and it certainly isn't the whole topic - it probably would be better called an introduction to programming. This doesn't matter there are plenty more resources to take to further or begin from a different starting point.
Khan Academy itself offers an Python-based programming course and Google Code University has several programming language courses. In addition Udacity, Coursera and edX all include Computer Science in their MOOC offerings.
What the new addition to the range of free educational online content provides is highly accessible and has an important role to play in motivating those who enjoy the challenge of playing computer games to feel that creating computer games is equally challenging and enjoyable.
The idea of using a direct approach is great but this tends to avoid the key ideas of programming. At the end of the day programming is about understanding how a static text can create dynamic behavior and using the instant feedback approach can get some of these ideas across very easily but when it comes to loops, conditionals and other constructs it can make it harder.
But let's not be curmudgeonly - programming needs to be fun if there is going to be a next generation of creative programmers. Well done Mr Resig for thinking outside of the box.