What is computing? What is computer science? These questions would seem to have easy answers, but the field of computer science is still in its infancy compared with fields such as physics, and the mothership–mathematics. The term “computer science,” somewhat unfortunately, seems inextricably linked to a family of artificial devices we call computers. But can you think of any other major discipline with this characteristic? We do not refer to astronomy as telescope science, chemistry as mass-spectrometry science, or mathematics as compass-and-rule science. In mathematics, for instance, educators will observe mathematics at play in nature. In the above image, the mathematical symmetry of the pagoda and the geometric branching structure of trees and bushes are all too evident. And yet, in computer science, we seem fixated on the box. However, computing, with its focus on information, has potentially a much larger role to play in our world. Recently, we created another video that dives into computing to illustrate three major paradigms, ways of seeing information management and flow outside of the box. None of this is to downplay the relevance of post 1940s growth in what we know as computer science today. Computers assist us with our daily chores, our workplace tasks, and our entertainment options. But if computer science is to approach the ubiquity of mathematics in our world, we must venture beyond “code” and back to the idea that computing can be just as much about describing what we see, and how we see it–in the wild through an information lens.
If you read this blog, you probably have an interest in automata or modeling, computing representations, or all three. I’d like to spend some time talking about being a modeler. A modeler is someone who models. Modeling can be anything from Danylo Stanchak’s model of Elsa to creating models of behavior, process, and shape. The mathematicians also have their version: model theory which falls under the study of logic. Like a linguist is someone who enjoys languages of all types, perhaps a modelist is the modeler-equivalent of the linguist? A modelist is someone who studies modeling independent of a specific focus area or discipline. Perhaps, I am leaning toward the view espoused by G. H. Hardy in A Mathematician’s Apology. It is not that disciplines are uninteresting, because they most certainly are essential to highlight the effects of modeling, but modeling itself is even more interesting for me. The disciplines are proof of the concept of modeling. But, unlike Hardy’s mathematics, modeling is not yet considered a formal discipline with academic areas and departments (note: there are a few exceptions to this rule). However, there are conferences, journals, and societies devoted to modeling. I am certainly a modelist. Are you?
For my modeling & simulation class this Fall, I am exploring a new collaboration with colleagues from the Dallas Museum of Art (DMA). The exploration consists of a mix of digital humanities, art history, computer science, and modeling & simulation. The above image is of a tunic that is part of the DMA collection and currently on display in the exhibition entitled Inca: Conquests of the Andes/Los Incas y las conquistas de los Andes. It is a beautiful piece with rich history from the Peruvian culture. What does this have to do with process modeling that we do in simulation? The tunic, like all works of art, can be interpreted and presented in numerous ways. I think this diversity of interpretation is central to both modeling and to the humanities. Bruno Latour, in How to Be Iconophilic in Art, Science, and Religion , concludes his essay with “The difficulty is to learn how to be iconophilic for one form of visual culture without being iconoclastic for the others.” We need diversity in interpretation, and modeling helps achieve this diversity with multiple, mediated objects each providing an understanding of a phenomenon, like the checkered Andean Tunic. How might we model a process that partially re-creates this pattern? This can be done with text-based scripts or with a visual program. How did the Peruvians weave this particular tunic (ref. Lesli Robertson’s gallery talk)? One classic technology employed is the back-strap loom. How might we use modern weaving methods and weaving draft notations to model something similar? How were the red and black dyes made for the pattern? What transportation processes (people and things moving around) were in place to get materials to and from their locations? All of these are questions of process , and models of process are therefore creative interpretations of the tunic. Process models can be an integral part of the history and interpretation of art. In last year’s class, we used Max/Msp (a visual programing data flow program used by artists) and the target scenarios to be modeled came from everywhere. This year our targets are all inside the DMA. We are therefore continuing to use Max, but diving further into the art world for our cultural context. Can we learn to see these models in the art? Can diagrammatic models provide additional interpretation and knowledge about art and culture? This approach is a departure from “Big X” (e.g. Big Data). We may find some interesting workflow models that yield new information on art by amassing and sifting through huge online collections. This should be part of our process. But, to quote Feynman in the spirit of “close reading” within the traditional humanities, there is plenty of room at the bottom if we only diversify our interpretations of a single work.
 In Latour, B. 1998. How to Be Iconophilic in Art, Science, and Religion? in Jones, C. A. & Galison, P., Eds, Picturing Science Producing Art, Routledge.
 Questions of process are not only central to modeling and simulation but also to computer science. The term “code” means to model a process, usually with typographic symbols in the form of a program or script.
We know that reading, writing, and arithmetic represent the basics in the education of our youth. But what of modeling? According to an article from last year’s US News and World Report, “The Common Core Math Standards: Content and Controversy,” there is to be more of an emphasis on modeling concepts. The report “Progressions for the Common Core State Standards in Mathematics (draft), 4 July 2013” provides additional detail on the role of modeling at the high school level. This may be the age old set of issues centered on whether we teach math as a subject without real-world relevance, or whether connecting math to the world creates a deeper understanding. I would guess that most modeling and simulation (M&S) practitioners would favor introducing modeling in K-12, or at least at the high school level. But is this so? Is modeling more complicated than memorizing and practicing dry, abstract methods? Can real-world relevance help learner attention and motivation? If it can, then enter modeling–center stage. [More information on Modeling in CC].
I recently engaged in a three-way podcast conversation covering research that we do in the CA lab, as well as activities in the Creative Automata class that I teach–if that is even the right word. Guide? The title of this post is gleaned from Christopher White who works with Elecia White. I engaged in dialogue with both of them, and thoroughly enjoyed our discussion. Elecia and Chris produce a podcast called Embedded where the main theme is embedded systems and electronics. But they tackle a wide variety of interesting topics around this central theme. This audio podcast name Bubblesort Yourself was invented by Elecia, and the hour long podcast can be found here. Their Embedded podcast can also be accessed using the Apple podcast app or the equivalent app on Android phones and tablets. I listen to their podcasts regularly, and also to other podcasts while I take long walks. For some of you, driving the car or working out in the gym may be good times for podcast listening. Chris White also posted an accompanying blog entry where he expands upon formalized synesthesia. Is that what we do when we model in simulation? It seems to be on the basis that we employ many models, each of which contains a hidden set of analogies. The models are encoded with respect to our senses [credit: artwork Synesthesia above is from Nuno de Matox].
If you go to Google Images, and you type in the word “modeling,” if you are like me, you might expect to see all sorts of equations, diagrams, and software interfaces allowing scientists and engineers to model complicated things. Instead, from the public’s perspective, or perhaps from the perspective of the advertising industry, modeling means to model clothing. Fashion. Runways. The above image is from Top Ten Modeling Agencies. At first glance, this type of modeling is something we might be tempted to dismiss as irrelevant to our supposedly higher ambitions within mathematics, science, and engineering. But, this type of modeling is ubiquitous and serves as a good way to talk about modeling to others. Why not talk about models by covering fashion? You probably have heard of a “model house” or a “model kitchen.” This type of model refers to model as prototype. Rather than modeling a pre-existing phenomenon like automobile traffic or heat exchange, model as prototype brings in design as a type of modeling. The model house may be one you’d like to live in. The model kitchen gives you ideas of how you’d like your kitchen to look and function. So, if you want to explain what you do as a modeler to others, begin with common terms and experiences. Meet people on their ground, with their understanding of model. And wear something suitable like a well-designed pair of jeans. You might be surprised when the next day, your friend shows up wearing the same clothing. You have become a model. [Source concept: from a column that I did long ago for the Society for Modeling & Simulation International].
In a recent audio podcast, three of us were discussing personalized modeling from different angles–including using art and craft-inspiration, and engineering culture. Karen Doore, Sharon Hewitt, and I engaged in a short conversation that is part of a series of podcasts called Creative Disturbance. Anyone who has been to a modeling and simulation conference notices that…the people attending are all quite different. Often having different degrees and from different departments and schools. There is good reason for this: modeling is inherently an area that connects different people and things together. This diversity plays out, also, in our modeling choices. What is your favorite modeling system or language? What underlying analogies are used?
Coding. Modeling. Which came first? And what should we be teaching our students? There has been some recent discussion on this from two blogs: Chris Granger who suggests that modeling is the new literacy, and Mark Guzdial who observes that modeling requires coding. Let me begin from the beginning–as an after-school programmer in 10th grade with punched cards and FORTRAN 66. We were introduced to a green plastic IBM template which captured the modeling task known as flowcharting. Flowchart templates promote control flow thinking–these control flow diagrams are models of code. One made a flow diagram first, then wrote code. I don’t know whether this is still common practice–to model control flow in pictures, and then proceed to write down code as text. Has this modeling effort been relegated only to the advanced reaches of software engineering courses taken only by CS majors?
Chris and Mark both have valid points. Code is at the bottom layer of modeling. Think of code as modeling with the technology of type. All models are tied to explicitly to types of technology, and so types of media. Consider James Clerk Maxwell’s plaster model of Gibb’s thermodynamics surface. A new way of understanding thermodynamics–using the technology of plaster of Paris. Typeset equations are another way. If your technology is a typewriter or a keyboard, then your computing model is going to look like code. If you use different technology, your “code” will look radically different — it may be physical or in diagrammatic form. Most dynamic models we create in the CA Lab are either physical or diagrammatic, but code is indeed at the bottom layer. When I teach process, I cover a combination of control and data flow methods. Data flow thinking is where the process is based on a description of how data are manipulated over time–data flow is a natural way of thinking about computing, and it has the added benefit of weaving in thousands of years of analog computing practice. Another benefit of data flow thinking and modeling is that one comes to understand computer science, and information science, as real sciences–seeing information everywhere rather than remaining glued to a keyboard and the accompanying video. We need modeling and we need coding. But, more than this, we need the respective communities around modeling (e.g., SCS, ACM SIGSIM, IEEE Systems Science, Engineering & Cybernetics) to better connect with organizations devoted to teaching computer science (e.g., ACM SIGCSE). Because these two communities seem lightyears away from each other when they shouldn’t be.
Most of our research in the Creative Automata Lab is devoted to better understanding mathematics and dynamic system modeling through multiple modalities and representations. This strategy is partially art-based, and stresses an individual orientation toward education rather than one based on standard notations pushed to the masses. The lab stresses having more people understand modeling. Last month, I was intrigued by news of someone in the UK holding a professorship entitled the Public Understanding of Philosophy. And I found information on two faculty (Richard Dawkins and Marcus du Sautoy) who hold the title of Simonyi Professor for the Public Understanding of Science at Oxford. The emphasis on public understanding of an academic area has a strong fit with our lab goals. But, there is something deeper happening: Ideally, all university faculty should strive toward a public understanding of their disciplinary topics. Engaging the public directly, and speaking more broadly about an area, should be explicitly encouraged and rewarded by university administration at all levels. As faculty, we need to maintain deep disciplinary depth, but we must also strive to gently establish tendrils throughout the university knowledge infrastructure. A justification for this need can be seen in the latest version of National Geographic entitled “Why do Many Reasonable People Doubt Science?” Perhaps fewer people would doubt science if universities made a stronger effort at public outreach and communication. Public outreach is not a speciality; it should be a job requirement within the academy. Publishing in a society transactions moves a field forward, expanding our essential knowledge base. Talking and publishing to a wider audience brings more people into our fields. More people on the planet become better educated. If we try, we can achieve both breadth and depth of knowledge. If you are a faculty member at a college or university, you find yourself in a park on one side of a bridge. The public is waiting for you on the other side. Meet in the middle?
Design is a big word, and something we all feel passionate about. We know from Jonathan Ive of Apple that well-designed things can enrich our lives and, indeed, do quite well in the marketplace. Think of products such as the iPhone, iPad, and the upcoming iWatch. These products are well designed by Apple, and meant for you, the consumer. There are ways to customize the look and feel of the human interface in these devices. But, is it possible for people to design things for themselves? Yes, but for a different type of market: self-education. Imagine that you are in a class, trying to learn something hard like computer science or calculus. Further imagine that the teacher, rather than dishing out pre-designed computing and mathematical structures plays the role of facilitator, allowing you to design your own objects. Design your own code. What would it look and sound like? Design your own integrator. Make your own personal language. Design your own representation for equations. This isn’t about markets and sales. It is about allowing you to craft your own self-inspired representations–as a way to promote self-interest and creativity–you may come to learn better because you have been given an opportunity to create rather than to interpret the symbols of others. This approach of designing something yourself to learn something goes by another name: art. Let’s promote learning by creative representation and creative design. Design, in this particular instance, not of creating something for other people, but creating something because it moves you.
Much of what we do in the Creative Automata (CA) Lab is oriented around multiple representations of a single abstract mathematical concept–such as integration in calculus or sorting in computer science. How can we personalize approaches for learning something like integration? Is it possible to leverage our multiple cultures to engage and motivate the learner? The lab just submitted our video entry to the National Academy of Engineering (NAE) Grand Challenges for Engineering Video Contest called E4U2. Sharon Hewitt from the CA Lab designed and produced this video. The video segments include representations of a virtual analog computer based on the sand-like flow in PowderToy, as well as several personalized models of the Lotka Volterra model. Instead of making models for other people, consider that you can learn about modeling by making these wonders for yourself. In this arts-based approach, you will also interest other people in modeling.
This is a circuit created by a Creative Automata Lab research assistant David Vega. The circuit is a physical incarnation of the Fibonacci difference equation f(m) = f(m-1) + f(m-2), where “m” equals the current month in decimal. We begin the Fibonacci sequence by iteratively solving, beginning with f(0)=f(1)=1. These values jump start the difference equation: f(2) = f(1) + f(0), f(3) = f(2) + f(1), and so forth. The sequence ends up as 1,1,2,3,5,8,13,21,34 until we decide to stop. These numbers are termed Fibonacci numbers. There are all kinds of interesting real-world patterns related to these numbers, including the spiral pattern found within a nautilus shell. This equation represents an idealized model of rabbit population growth. The equation was re-represented as a visual Max/MSP patch, and then translated into an equivalent electronic circuit using Teensy 3.1 microcontroller boards. The boards, populating the breadboard above, are connected using serial communications, and there is “software clock” that regulates the data flow. In Max/MSP this clock is programmed as a [metro] (short for metronome) object. This circuit will be transformed yet again into a tangible artwork where the Teensy boards are housed in 3d printed rabbit objects. I’ll post another entry when we get to that stage. You’ve probably heard of “embedded systems,” so this is a case where the embedding is meant to draw in the participant in a way not really possible with the textual difference equation.