A Post-Curriculum approach to teaching programming
Does the West realize just how important programming is?
Countries like India, Russia, China, Vietnam, Romania certainly do! These countries are producing ever more, better quality developers every day. Small wonder as programming is extremely well paid, creative, fun and the developer stereotype is now 'geek chic' rather than 'spotty nerd'. So, what's going wrong in the West?
- In the US, the global leader in tech, less than 2.4% of college students graduate with a degree in computer science - fewer than 10 years ago
- At the UK's Cambridge University, today's Computer Science students interview with some web design skills but little knowldge of coding, whereas 10 years ago students were often hobbyist programmers. This problem gave rise to the massively popular Raspberry Pi. (This link makes for interesting reading).
- Code.org was launched in the US to try to address the severe developing problem.
- Take a look at the infographic below for some sobering stats from Code.org (sorry about mangling the infographic, here is the original.)
The Problem in Schools
Most school curricula focus on using Word, Excel and office productivity tools - things that kids these days pick up in 5 minutes without any instruction. Governments are now trying to put in place curricula that incorporate coding. It's quite easy to imagine how a committee designed curriculum might look. Not compatible with the dynamic world of IT and especially not when it comes to learning to code. By the time a curriculum has been worked through and published, large chunks will be out of date and it will be static for years to come.
The Solution : CrowdTeaching & Collaboration
In case educators don't think it can be done, I suggest they take a look at the open source community. It is populated by very smart, community oriented people who know how to code and many of whom are all too happy to try to explain how things work. Take a look at GitHub, which alone has nearly 4 million developers working collaboratively.
Open source software is at or near the centre of every single great IT company without exception. Ask Google, Twitter, Facebook, IBM, Accenture - open source works and is used extensively. Apply the open source approach and ideals to tutorials and teaching people to code, whether beginner, intermediate or advanced, and you have a recipe for success.
Anyone can take any tutorial made by anyone and then 'fork' (copy) it and make improvements. These improvements can be small, in which case they are requested to be re-absorbed by the original creator, or they can be the starting point for an entirely new direction. There are no absolute 'Owners' as every project is permissively open sourced and can be found and updated by anyone.
How Codio will enable CrowdTeaching & Collaboration
Codio it about to announce several features that will enable this to happen
- a teaching platform and feature set based on the Codio IDE (all completely free) called Codio:Annotations
- a GitHub based content framework for content creation and collaboration
- a standard educational license that all content should use, allowing completely unrestricted copying and modifications
- an active curation program backed by a Codio staff that will provide guidance and organization for any programming language
- a curation feature set within Codio that allows people to categorize, tag and vote, helping learners find the best material quickly and easily
With these features, there will be a vehicle for a truly post-curriculum approach.
Developers don't have to use Codio
Even though Codio will have a unique and rich set of code annotation and documentation features, we don't want to force people to use Codio. The Codio:Annotation features can be accessed from a developer's favorite IDE, but there is no requirement to use Codio to submit content to the GitHub library.
What about Teachers and Teaching
We aim for these initiatives to be a rich resource for teachers to draw on. As every bit of content is open and collaborative, we expect forward looking teachers to be active participants and take inspiration from others and pass this on. They can structure their own courses around existing materials, always looking to update and use the best content available. We think this will attract the new generation of teachers as well as the new generation of coders.
Turning students on to coding - celebrity coders
We want to organize global Webinars and interviews with luminaries from the world of coding. These webinars will stimulate pupils and students to hear straight from the mouths of important software developers why it is such a great profession.
Teach to 30,000 not 30
Collaboration is also a fantastic way of bringing the best out of teachers. Imagine a teacher who is doing a stupendous job of motivating their students. Isn’t it a real waste for them to have their brilliance shine only on their own class of students? Their content is available to the whole world and they can even arrange a course or webinar that is broadcast globally. Less collaboratively inclined teachers can still piggy back on those materials and use them with their students in whatever way works best for them.
So, let's act
We believe that this mini manifesto is the foundation for a revolutionary approach to the way coding is taught and gives access to a truly exciting and lucrative career to huge numbers of students. It is a great thing that developing countries can expand their economies thanks to IT and I don't know of anyone who begrudges them this one bit. However, it is shameful that complacent western countries stand idly by and watch as IT skills drain away.