This post was adapted from an earlier piece written on Early Coders, our youth learning arm.While Hackwagon primarily situates itself in the market of adults, good education still remains our cornerstone. As such, we would be inclined to share our opinions on all forms of education notwithstanding age.
As a tech revolution descends upon the world, it is imperative that we teach programming to children to prepare them for the future. Here in Singapore, the Ministry of Education has already started to introduce coding in schools.
As it stands, however, programming as a subject is offered at very few institutions. Moving forward, we at Early Coders foresee that programming could very well feature prominently in school.
The question that needs to be addressed then is how do we keep coding interesting for children if it is made mandatory. Singaporean children already have a lot on their plates when it comes to school and in adding an extra subject like programming, we hope they would not consider as another ‘rote memory’ subjects. In the spirit of learning, we thus think the following 4 steps should be taken to teach programming to children.
1) Make Coding Fun
Google’s maiden Code in the Community Programme for children was a huge success. This was in part attributed to the instructors teaching the participants how to apply the coding they learnt to create games or hack systems. Just as Google had essentially captured the interests of these children, schools should do the same in the future. The coding children learn should be applied in ways that are congruent with their interests.
I would imagine that for many of them, this would be in the development of games when they are pre-teens or robotics/artificial intelligence when they are teenagers.
A paradigm shift here would be important as the people who develop programming curriculums will have to acknowledge games and robotics as legitimate learning tools. By capturing the imagination of children, we believe that their interests in programming will not diminish and the skills they learn will set a healthy foundation for future ICT skills.
2) Do not just teach Syntax
Closely related to the previous point, we think that programming should largely be application-based when taught. Syntax (spelling and grammar of codes) is important, yes, but it does not get you places in the programming world where obstacles met are of many forms. Unfortunately, many free online academies are guilty of not teaching application-based coding; they merely teach enrolled students to regurgitate syntax. This is an inherent limitation of online learning where without instructors, application-based learning is limited because students are not given real time feedback on how to improve their code on exercises given.
If schools were to adopt this same approach, and test students on their abilities to rehash codes without true troubleshooting, programming would be similar to other subjects that many rebuke as memory intensive and nothing more.
Computational thinking – which we also talked about last year – is the bedrock of programming and the best way it is borne out is in application-based learning. Curriculum planners and teachers here have an important role in setting realistic problems for children to solve while at the same time, providing guidance to them when they hit a wall.
3) Enroll them in Hackathons
Hackathons have become increasingly popular in Singapore with many big corporate entities like DBS and IRAS organising their own. These competitions see the commonfolk pit their digital prowess against one another to create digital solutions to problems facing the company. The company in turn rewards the teams with the best ideas.
For children, we believe schools should also actively engage them in competitions of this sort. By providing students an opportunity to exercise their programming knowledge in practical ways, their learning will be reinforced. Hackathons also provide a competitive environment where grades are not emphasised and one has nothing to lose and everything to gain (prize money…perhaps). In that sense, we believe that enrolling children in Hackathons will further motivate them in their programming journeys.
4) Less Exams/More Projects
Ultimately, we believe that exams have very little power in assessing a young programmer’s true abilities. The pressure of time may hinder a student’s ability to code, especially if they are still in their early years of programming. If the emphasis then is solely on exams, the fear is that the student may simply revert to brute memorising the syntax that they spotted would come out on the exam.
Instead, we believe that projects with challenging objectives is the right way to go about assessment. Whether done individually or collaboratively, the ample time given to these projects will perhaps allow students to consult various resources, from textbooks to instructors, in coming up with a solution. This ultimately consolidates the knowledge the students acquire better.
This post was written by Joshua Chan, an intern here at Hackwagon Academy.