Teaching Programming to Kids
"David Braben, a very well-known game developer who runs the UK development studio Frontier Developments, argues that education since we entered the 2000s has turned towards ICT which teaches useful skills such as writing documents in a word processor, how to create presentations, and basic computer use skills. But that has replaced more computer science-like skills such as basic programming and understanding the architecture and hardware contained in a computer." (Reference)
I totally agree with this observation. Even my more computer-savvy colleagues have no clue how to write even the simplest of programs. They, like many students, are very adept at using a given piece of software, but when something goes wrong they cannot do even rudimentary troubleshooting as they have no idea how computers really function. This is my one issue with current trends in ICT integration in education; it is all about using this program, or that Web 2.0 site without understanding how this magic happens.
I'm not saying that every student needs to become a computer whiz, but I think we need to teach basic programming skills which allow students to think logically and abstractly. I know that not everyone agrees with this. When I suggested teaching programming to the students, one colleague replied, "Why?", implying that it was a waste of time. Even though we have calculators, we still ask students to learn how to add, subtract, multiply, and divide. The principle is the same. The process and basic knowledge are in and of themselves useful and the skills gained are transferable to other domains.
I recently completed a 6-week programming unit with the grade 5 students at my school. Using Microsoft SmallBasic, an excellent programming environment for children, students learned the basics of programming including variables, input, output, processing, conditional branching, and using random numbers.
For math integration, each student wrote a program to calculate the area of a square, rectangle, circle, and triangle using the formulas they had recently learned in class. Their culminating project was to write a program to play Paper, Rock, and Scissors against the computer. A number of students really showed their creativity by going beyond the basic instructions and substituting, for example, Elf, Troll, and Wizard for Paper, Rock, and Scissors. Others used weapons like battleships, rockets, and machine guns.
Recently, a 14 year old boy from Utah created a game for the iPhone called Bubble Ball that dethroned Angry Birds, the number one game at the time. We need to expose more children to these skills as early as possible, so that they can stop creating mere mash-ups, and start creating new concepts and ideas of their own.
Please click here for more information on teaching programming to students.
Recent blog posts
- Simple Python Game Tutorial Using Classes
- Video Tutorial: Python Spacewar Game
- Video Tutorial: Python To-Do-List (GUI Version)
- Video Tutorial: Simple Space Invaders Clone
- Video Tutorial: Python Functions with Turtle Graphics
- Video Tutorial: Python Guessing Game (GUI Version)
- Global Codeathon Scratch Tutorials
- Video Tutorial: A Simple Python Turtle Graphics Game
- Video Tutorial: Tic-Tac-Toe in Python
- In Favor of Standardization in Ed Tech