Teaching Problem solving in the classroom via Hour of Code.

Recently, the wave of computer and mobile applications development via computer programming has been on the rise, with cooperate software entities like Microsoft, Oracle and Google spearheading the campaign for schools to teach computer programming from elementary school age, in other to help make the upcoming generation more inclined to coding.

The rise of educational businesses like code.org to support school teachers in the campaign to enhance computer programming awareness at an early age has also been a welcome development, especially in games development arena using software like Scratch, Kodu, Alice etc.

However, it takes the vast experience of schoolteachers in the field, in this subject area to understand what and how this knowledge based events can be integrated into the ICT curriculum and classroom.

I do not major in computer programming as an ICT teacher, but with my current experience with elementary school students, it has not been easy adopting a standard computer programming language for classroom lessons on coding, because every now and then, these educational businesses come up with new computer programmes for classroom purposes and it would make my lesson very confusing if I had to attempt using these new products.

Interacting with teachers in my region Nigeria and other parts of the world, that adopt different kinds of curriculums for elementary school ICT; this confusion on which computer programming language is standard for teaching coding in classrooms, remains constant.  

Most of the schoolteachers have decided to adopt the use of vast amount of new software and apps for teaching instead of delving into the realm of coding. Moreover, there are no practicable standard expectations for students graduating from a coding class, by the schools and educational authorities, aside the ability for each student to use common word processing apps. It appears to be at the discretion of the ICT teacher to decide what those expectations, based on his/her current experience in the use of technology.

Take for instance the minimum accepted standard for a student graduating from an elementary school numeracy class into high school is for such student to have mastered the use of basic math operators’ addition, subtraction, division, multiplication.

Similar strict standards have been set for same student graduating from literacy and other subjects. But for ICT, it becomes painstaking to make or stick to a solid decision and expected output, due to the tremendous rate of evolution in the computer software applications, which surpasses hardware development by a milestone. Though I can do much more with the use of technology than the average ICT schoolteacher due to my love for gadgets, I believe there should be standard expectations by school authorities and stakeholders in education, which must be clarified; to help ICT teachers in elementary and high school prepare themselves for their classroom use of technology.

Notwithstanding, various schools have different budget standard for setting up an ICT classroom; I believe the basics should be a desktop computer with programs (open source freemium or proprietary premium), they both achieve same results. Most programming language are free to download and with or without licensing, and programming languages are not proliferated as much as computer applications, since the last decade.

As such, it would be easier for school authorities and stakeholders in education to set a minimum standard expectation for a coding class in the ICT curriculum for students graduating from elementary or high school, using the simplest programming language to perform outlined specific task(s).   

Information communication Technology and computing are more of pivotal tools rather than standalone instruments; they are used to expand the potentials of other subject matters i.e. document processing and literacy skills, desktop publishing and art skills, sound synthesizers and music skills (beat making), coding and mathematics are various ways computer can enhance other subjects in the classroom. It means an ICT teacher should be vast in the use of technology in relation to as many subjects that has any affiliation with computers.

For example, not every elementary or high school student is going to become the next Mark Zuckerberg or Bill Gates, but every student graduating at these stages should be expected to solve a stipulated amount of math problems with simple codes using Small Basic, BASIC variants, Python or any computer programming language that school authorities, stakeholders or the curriculum demands.

The essence of problem solving and critical thinking via coding will be uniform across all platforms, the advantage at later stages, becomes a better understanding of numeracy or mathematics by students and also a formidable foundation for our future computer programming quests. However, in real time software and the internet was developed from one or more mathematical algorithms.  Games development is awesome when it helps students mimic real life examples of the games they play every day on their tablets and computers; obviously, that would be too much of a problem to teach in any elementary or high school, due to the length and complexity of such source codes. Like expecting students at such age to understand calculus; like calculus, games development will lose its problem solving, critical thinking and commercial value when summarised for kids as a drag and drop process, which is not the face value of the situation out in the real world, because they are not even close to the tools for developing commercially successful products.


For the past three to five years, I have experimented various strategies that would be effective enough to become a standard across all ICT curriculums for elementary schools.

I strongly believe that the most rewarding experience any child can benefit in a coding classroom activity is problem solving using the computer and critical thinking designing algorithms, which are the major reasons the computer was invented and has developed to this extent; creativity seems to be a by-product of the aforementioned reasons.

The expectations for students in a coding class should be more practical and focused on what they are already used to, in other to make the maximum impact on their learning to code. As noted earlier, the minimum standard for any student graduating elementary school is his or her ability to use the basic math operators (division, addition, multiplication, subtraction) in solving a handful of simple numeracy problems; and this is where the knowledge of coding becomes relevant in using ideas gained to program the computer by solving math problems.

It involves beginning a coding lesson with their everyday use and understanding of algorithms, then fine tuning the idea into a relationship with their everyday maths problems. This technique has been helpful for me in building their knowledge from known to newer ideas for my students in elementary school. It can be teaching them to write an open algorithm to add, subtract, divide, multiply numbers on a sheet of paper, then converting it to previously QBASIC but now Small Basic codes with just 8-10 lines of readable codes.

Nonetheless, I have created a detailed PowerPoint snack course to be published free online for teachers and students of ages 8-13 to learn the rudiments of coding in relationship to their knowledge in numeracy. The level, a numeracy curriculum expects from students from these grades, are also the level each student can apply a Small Basic code to solve those specific category of math problems.

The mini course is also my Global Goal Challenge called calculator apps using Small Basic, which would herald massive coding activities throughout the school session and beyond by students from all over the world, who are creating open calculator apps to solve problems in geometry (2D & 3D shapes) with variations of the formulas, then publish and share their codes and excitements. With this coding lesson, I am persuaded beyond reasons that in 5 – 10 years the true value of computer programming (critical thinking and problem solving) will be imbibed by 60%-80% of students graduating from both elementary and high school coding class.