The Department of Mathematics and Computer Science hosted a community event called “Hour of Code” on December 10, 2013. Dr. Cindy Howard offered an hour-long introduction to computer programming to area high school students, who braved the cold to visit Lewis’ Computer Science wing. Several students interested in learning more about Computer Science and computer programming in particular participated in the event.
With Dr. Howard, the students developed a game in a programming environment called Scratch in which the hero, a fearless cat, must avoid the persistent advances of vengeful bowls full of cheesy puffs without losing 3 lives in a 30-second period. There is nothing worse than having vengeful bowls of cheesy puffs chasing you, so the students pursued this example in earnest! Through this experience, they experienced the building blocks of all software development: sequence, selection, and repetition. Sequence involves executing instructions step-by-step in the order they are written. Selection entails choosing among alternative paths based on whether certain test conditions are true or false. Repetition involves executing a set of statements over and over again until certain test conditions are no longer true. One can create amazingly complicated and powerful software applications and environments using just these three simple ideas. That “power through simplicity” theme characterizes computer science to its core, which is one of the things that makes the field so attractive to young people, as well as so fertile an area for high-impact innovation.
The Department offered this Hour of Code as part of the national Computer Science Education Week celebration. This initiative aims to spotlight the importance and value of developing programming skills for people from all walks of life. The week, which runs from December 9 to December 15 and was scheduled to coincide with the birthday of Grace Hopper, widely considered the first computer programmer, has featured Hour of Code events all across the country, including several that have been sponsored by tech giants like Apple, Google, and Microsoft. On Microsoft’s page, for example, Bill Gates offers a very clear and accurate description of the benefits of learning code when he posits, “Learning to write programs stretches your mind.” Perhaps that realization is what drove the Chicago Public Schools to take an impressive step this week to make Computer Science a core course in its curriculum. I hope many other school districts follow suit. Our country needs more problem solves, and computer programmers are nothing if not problem solvers.
Certainly, the challenge any software developer assumes when he or she engages in a project is to take a description of a complex system or problem; dissect it into smaller pieces; plan and implement a solution to each of those smaller pieces using sequence, selection, and repetition; integrate those partial solutions together; and refine as necessary until the entire problem is suitably solved. On top of that, the developer must critically test and evaluate the performance and correctness of the system at every stage. This is an intense exercise, but the payoff – a working, efficient, and often elegant solution to something that seemed so daunting at the outset – is more rewarding than just about any technical challenge I can think of. That, after all, is why I switched careers from Electrical Engineering to Computer Science fifteen years ago. That thrill of creating a usable and valued software tool is well worth the effort one invests in creating it.
If you are interested in learning how to program and find yourself with some time over the holidays, let me suggest you go to our homepage and check out the links on the left side of the page entitled “Python for Teachers”. This is a set of six 90-minute tutorials I gave during Summer 2013 for high school teachers in Illinois to teach them the language Python, and excellent first computing language that is used by programmers of all levels. I bet that, once you learn a little bit of programming and gain some confidence doing it, you’ll be hooked.
Forget the Jelly-of-the-Month Club. Give your brain the real Christmas gift that keeps on giving: learn how to program!