Computer Science in 1,000 Pieces
December 9th, 2015
What an incredible Computer Science Education Week Nextech has had…and it’s only half finished. We kicked the week off Monday by bringing together some of this state’s most influential leaders and Indianapolis-area students for an Hour of Code at the Statehouse. Since Monday afternoon we’ve taken the Hour of Code on the road, visiting IPS elementary and middle schools as well as community centers to introduce hundreds of young minds to the world of computer science and coding.
Needing to unwind from the crazy schedule of the week, I decided to engage in one of my favorite activities to help me relax…putting together a puzzle. We can debate later whether or not putting together a puzzle is an effective way for unwinding!
To go along with the theme of the season, I decided to tackle a Santa-in-front-of-the-fireplace puzzle. Once I dumped the contents of the box onto my table, I immediately began sorting the 1,000 pieces into two groups – those with straight edges and those without. You see, I always attack puzzles the same way.
- Step 1: Isolate all the edge pieces from the others.
- Step 2: Sort the edge pieces by color.
- Step 3: Build the frame of the puzzle.
- Step 4: Sort remaining pieces by color.
- Step 5: Build one section of the puzzle at a time.
- Step 6: When I am down to 100 pieces or less, I sort the remaining pieces based on the number of “openings” they have.
As I began step 1 tonight, I had an “aha.” The process I go through to assemble a puzzle is the perfect analogy to computer science. It is…
- Reformulating a seemingly difficult problem – putting together a 1,000 piece puzzle – into one I know how to solve – organizing information, or in this case, puzzle pieces.
- Using decomposition when attacking a large complex task. Instead of the one massive task of putting together a puzzle, I tackle a series of individual tasks – assemble the puzzle frame, put together the Christmas tree, etc.
- Planning and learning in the presence of uncertainty. By sorting my pieces initially, I am developing a plan of attack. I continue to re-organize as certain sections of the puzzle are finished and I need to more quickly identify pieces with specific characteristics.
I may not be able to program a computer. But I feel pretty confident that by applying the principles of computer science, I am going to figure this puzzle out in no time…after CS Ed Week 2015 ends of course!
– Karen Jung, Nextech President