Lighting the Computational Future



Computational Thinking. Everyone must code. The most recent Communications of the ACM (CACM, Feb. 2014) has an article where the author covers the issues of learning computing. Should everyone code? Not everyone needs to code as we soon find out, but we do recognize that writing a computer program does help us think in terms of algorithms, mathematical structures for a new generation. We can use one of the excellent programming languages employed for teaching how to code such as Scratch or Java.  Does this provide insight into computer science? Yes, it is a direction that most of us take in the field when instructing students. But here is another suggestion: Everyone must model. Consider the Bunsen burner.  The chemistry lab is for learning how to use lab instruments, and Bunsen burners are valuable instruments since they rapidly heat the contents inside of Erlenmeyer flasks. Computers are equipment, just like Bunsen burners. Look closely at the Bunsen burner in the illustration: what information is there and what is it doing? A modeler looks at the burner and sees two streams of information merging. And an imaginary discrete event: lighting a three inputs. One of the streams is modulated (e.g., the air control) using a range delimited by a minimum and maximum mechanical setting. This should be the essence of computational thinking: learning how to model information, not writing code inside of a text editor.