The first week in October has been designated Africa Code Week, with a push in several countries across the continent to get children building their own programs. There are a few initiatives in Ethiopia, and ICS is joining in. We’re sponsoring a few events next Saturday (10 October) to get our students and some other children learning how to make programs that do what they want, rather than simply using apps that others have built.
There’s been a big push worldwide to get people programming. “Everyone can code,” proclaim advertisements, government officials, teachers and students. It’s a simplistic message which provokes pushback as well as support. People argue that not everyone needs to become a programmer, and that saying that everyone can and should learn to code is ridiculous.
The truth is that everyone uses a computer in their daily lives not only for work but also for leisure. For many, they are mysterious machines that work magic. People who learn some programming skills get that magic demystified and explained: for them, computers are comprehensible machines that work in understandable and predictable ways.
The art of programming also builds in students a logical way of thinking that supports problem-solving. Computational thinking is a way of analyzing a problem or situation in ways that break it down into processes that a machine can perform. This is the skill that all programmers develop, and it helps people better understand complex problems as well as get machines to solve those problems.
Finally, learning to program is a way to gain mastery over computers and hence one of the driving forces of our economy and society. Being a programmer is a lucrative and highly sought-out skill, not only in high-tech businesses but increasingly in other fields. Economists write programs to analyze data. Architects write programs to model building stresses. Geographers write programs to simulate geological processes.
ICS is committed to getting our students to be inquisitive and creative, using computers not only to communicate and collaborate but also to analyze and problem-solve. Learning to program is a part of that, and we aim to have all of our students develop some skills in computational thinking and computer programming. Our goal is that those students who wish to pursue that as a career can do so, and that others will have a better understanding of how computers actually work.
Cross-posted from my school blog.