I am old enough that my introduction to computers was a Fortran class in college that actually gave me nightmares that would wake me up in a cold sweat. So, it’s a surprise to find myself becoming an advocate for introducing computer science in elementary school. However, if more students were introduced to the field through a program like CS Unplugged developed by Tim Bell in New Zealand, we would have fewer worries about being able to compete in the computer science field in the 21st Century.
I was lucky enough to meet Tim today and to attend an assembly he did for Pacific Grove’s 5th graders. His introduction looked like magic. He had a student make a random 5 by 5 grid of stickers that were either black or white. He added some extra stickers that he was holding to the grid, then asked the student to switch one sticker from black to white or vice versa while he had his back turned. The student switched a random sticker, then Tim looked at the board, picked the sticker that had been switched, and flipped it back over. Apparent magic.
Of course, Tim went on to explain how he had intentionally placed his extra stickers as markers so that he could find an error and correct it in a way similar to the way a computer detects missing or damaged bits. The student volunteer was then able to demonstrate the trick herself. The kids were on the edge of their seats as Tim continued to engage them in an introduction to computer science. Tim went on to demonstrate concepts of binary numbers, image representation, sorting algorithms and more. He made computer science come alive for these elementary students. They were having much more fun than I did in that long-ago Fortran class and most likely won't suffer through any nightmares caused by the assembly.
The great news for educators is that these mini-lessons that Tim taught and many more are available for free on the CSUnplugged website. They require no special materials or technology, but can be taught using things found in most classrooms. No computers are required (thus the "unplugged" part of the project). Topics covered include:
- Data: Representing Information
- Putting Computers to Work: Algorithms
- Telling Computers What to Do: Procedures
- Really Hard Problems: Intractability
- Sharing Secrets: Cryptology
- The Human Face of Computing: Interacting with Computers