For over 8 weeks in our third class of KCP, I'v been part of the team that facilitated teaching Computer Programming to children aged 6-11 at Outbox. It’s been a wonderful experience so far and the kids too seem to enjoy it as well as expressed by one of the kids.
"I didn’t know anything about scratch but with time got familiar with it and got more interesting each time I came for the next class." said kamal on of the students in the Just concluded class/
To me it is more interesting given that, beyond the fun and games we are actually teaching the kids to build Computer Games.
Sneaking in Complexity
The program at Outbox (creatively named “Kids Computer Programming”) follows a curriculum and teaching methodology developed at the tech Mecca that is the Massachusetts Institute of Technology (MIT).
Beyond just teaching programming the kids are introduced to computational thinking (More on that in a bit). Unlike the programming courses you might have seen, this course is based on ‘Scratch’ a very visual programming language targeted to kids. Instead of typing out lines of code, the kids move blocks and piece them together like Lego pieces. And from that various things get done; a cat moves, making a dancing sprite, etc.
Misconceptions
Encountering programming for the first time, I thought this was for the computer scientists. Little did I know that I can also learn coding easily and also be able to guide the kids. Learning programming concepts gives one an opportunity to get out of the box hence being creative.
What did we do?
The course introduced kids to concepts of math and logic in a way they can relate to. The children were able to learn to appreciate algebra for example making the sprites to move a certain number of steps. They were able to learn about angles happily and easier when there was need. And because these kids are trying to express something in their own minds on the computer, they would go out of their way to come up with different project achieve the effect they want the way they want it.
Computational Thinking
Quoting from one of the Instructors in the previous classes, Angelo say;
"What many people (including some programmers) don’t realise is that programming is largely an application of logic and reasoning. A programming language is merely an agreed upon way of expressing and applying this logic in written instructions. What learning programming does is give some structure to this process that our minds already try to do. In the process this makes for much more efficient problem solving and analysis, even without a computer.
The programming principles and concepts of iteration, recursion, modularization and others apply in more than just the binary world of ones and zeros. In day to day analog life they can help us design effective and efficient solutions to various problems."
Impact
As opposed to teaching kids to do a lot of work, we focused on teaching the kids how to get things done. Making things happen always excited the kids and this made them more creative each time we met. As a teacher I saw these students being our next future programmers.
Conclusion
Today’s children are growing up in a world that is more and more governed by technology. Programs like the KCP at Outbox equip children with the understanding of this technology and better yet understand the basis of technologies not yet invented.
Instead of focusing on learning how to use a piece of software that will more than likely be obsolete in 5 years, children learn how software in general works. This greatly increases their adaptability whatever software runs the future they will grow into. And who knows, they might be the ones to actually build the software that runs their future.
While most other careers prepare you to develop products and services for the market you are in, programming equips you to develop products that are marketable on a global scale. Now if that’s not something worth investing in, then nothing is.