Coding in schools
The South African government has shown interest in introducing coding in schools. This is commendable and should be followed up with implementation. The government has a good track record of coming up with good plans (National Development Plan) but there is so much to be desired when it comes to implementation. It may not come as a surprise if there are concerns that the government may not be able to introduce coding in schools, due to either lack of capacity or lack of political will.
In order to successfully introduce coding in schools the government has to overcome two hurdles. One, the provision of infrastructure, this include secure computer labs, computers and software that is required for coding. Two, the provision of competent people to teach/facilitate coding to primary school learners and high school learners. The government does not have a good record of providing excellent school infrastructure. The government is still struggling, after more than 20 years in power, to eliminate pit toilets in schools. Political will is needed to ensure implementation and that there is no corruption in the procurement of infrastructure.
Then there is a challange of finding the best approach to teach learners coding. In my experience of having learned theoretical physics and programming/coding, I have realised that learning theoretical subjects and learning programming requires different approaches. This might not be obvious because if you take physics and JavaScript, for example, they can be studied by taking a textbook study the theory and understand it and then do the exercises at the end of each chapter. In learning physics this is a very effective approach but this is not the best approach to learn JavaScript.
One might ask what is the best approach to learn coding? Well....our friends in the teaching research have answers for that in the form of the pedagogy of teaching. In it simplest form pedagogy is defined as a method, and practise of teaching. It includes teaching styles, teaching theory, feedback and assessment. The pedagogical approach that I think is suitable for learning coding is constructivism.
Constructivism is a theory that people learn through experiences and reflection. A Constructivist pedagogy puts the child at the centre of the learning, and is sometimes called ‘invisible pedagogy’. A constructivist approach would incorporate project work and inquiry based learning.1
I believe the government must also be cognisant of the level of educational goals as described by the Bloom's taxonomy. The revised Bloom's taxonomy titled A taxonomy for teaching, learning and assessment has six categories of educational goals. The order of ideal attainment of these educational goals are arranged as a pyramid. The educational goal at the base is "remember", the goal is for learners to be able to recall facts and basic concepts. The next higher educational goal is "understand", the goal is for learners to be able to explain ideas and concepts. The third educational goal is "apply", the goal is for learners to be able to use information in new situations. The fourth educational goal is "analyse", the goal is for learners to be able to draw connections among ideas. The fifth educational goal is "evaluate", the goal is for learners to be able to justify a stand or decision. The top educational goal is "create", the goal is for learners to be able to produce new or original work.
If primary school learners can master the base category and high school learners can master the second and third categories through using the constructivism pedagogy, I believe that South Africa will be able to produce software developers that will drive the fourth industrial revolution forward.
However, for South Africa and the African continent to not just be consumers of technology but producers and creators of technology the top three categories must be mastered. I believe that Further Education and Training (FET) colleges and private colleges, like WeThinkCode_, in partnership with industry are suitable in helping students achieve these educational goals and drive innovation. Government must ensure policies and support structure that will encourage students to be innovative and be able to protect and commercialise their inventions.
1 https://www.tes.com/news/what-is-pedagogy-definition [Access: 10 January 2021]