To model is to gain a deep understanding of an object, a process, or idea by representing essential information by physical or virtual means. This can be done as a preliminary sketch in the act of creation, but it can also be used to represent knowledge that would otherwise be difficult to experience first-hand. Often modelling makes use of dimensional thinking, which is the translating or conceptualizing across dimensions of space, time, or any other range of related values (Root-Bernstein & Root-Bernstein, 1999).
Models of instructing computing machines to aid in problem solving have existed for over 150 years. When modelling a computer algorithm, I chose to explore its place across multiple sets of dimensions. The most obvious would be of scale and thus visibility,starting with that which can be viewed easily, such as the general solution to a problem and its implementation, then proceeded into that which is usually hidden , such as low level instructions, or microscopic in the case of transistors. This model also explores proceeding from the general to the specific, as implementing an algorithm is to use your own creativity in how to best do that, as my recipe analogy suggests. Parallel to this progression is starting with the virtual, such as an idea of how to accomplish a task, to the physical, with the actual tools being used to help complete that task.
Even more relevant to computational thinking, the model explores the relationship between layers of abstraction, an idea critical to using algorithms on computers. If programmers needed to work at a low level each time they wished to create a new program, it would be difficult to accomplish anything on large scale. This would akin to needing to think how to create the shape of each letter in a sentence when you simply want to express an idea. Utilizing and further creating layers of abstraction is one of the most powerful tools found in computing, and has important implications for education as well. When teachers use a water pipe model to explain voltage, current and resistance of electricity, they are wrapping a difficult topic in layers of abstraction to provide students with an incomplete yet helpful picture. As students reach a level where they can understand a topic further, layers of abstraction can be stripped away from the model.
In Sparking Innovation, we guide middle school students through programming an Arduino microcontroller, a task that would have been seen as too difficult even five years ago. Yet we are able to add another layer of abstraction with the addition of using a Grove shield and components, rather than connecting electronics directly to the Arduino. Instead of needing to type out the code, we use Ardublock to drag and drop code blocks. By adding another layer of abstraction, we allow students to focus on the problem solving and make it accessible to students as young as the third grade. In computing, adding layers of abstraction does not obfuscate, rather it makes more powerful algorithms possible. If computer scientists are to ever simulate intelligence on a machine, many more layers will be needed, just as the human mind works on multiple levels.
Obviously modelling makes use of many creative skills: the aforementioned abstraction and analogizing; noticing patterns across dimensions; being able to visualize the invisible. I chose to also include a kinesthetic aspect in my model to provide viewers with the feeling of travelling through the layers of abstraction. The analogy of “drilling down” into the code can be felt with this approach, and reinforce the idea that an algorithm provides a broad view of the problem, while the further down one goes, the most specific it becomes. It also suggests that viewers are “parting the curtains” to look behind the scenes – if this could indeed become a museum exhibit with appropriate polishing up, I’d be curious to see if the images could be projected on actual curtains to show layers of instructions.
Root-Bernstein, R. S., & Root-Bernstein, M. M. (1999). Sparks of genius: The thirteen thinking tools of the world’s most creative people. Houghton Mifflin Harcourt.