Category Archives: computing

Design for a Model


The above design is from William Lawson's "A New Orchard and Garden" which was published in 1618, and available from Project Gutenberg. Note the hexagonal tree configuration labeled B. Design is with us everywhere from Lawson's garden to the physical feel and visual layout of your phone. Design is also central to the task of modeling. I was recently reading Chris Conley's Leveraging Design's Core Competencies, and was struck by the importance of three concepts: #2: the ability to work at a level of abstraction appropriate to the situation at hand, #3: the ability to model and visualize solutions even with imperfect information, and #7: the ability to use form to embody ideas and to communicate their value. These concepts are central to modeling as employed within STEM (Science, Technology, Engineering, and Mathematics).  In Computer Science, we employ models for many tasks. These models are designs for artificial languages. Send this information through node X, and split the result across nodes Y and Z. Plant the apple tree at node A, which is fed from stream B.

The Humanities Affect


I was fortunate over the past three weeks to have presented at, and collaborated with, two excellent universities: The University of Kansas (KU) and Southern Methodist University (SMU). I gave invited talks at each. At KU, the talk was inside of their Institute for Digital Research in the Humanities (IDRH), and at SMU, their Computer Science Colloquium.  The talk was the same at KU and SMU, and centered on the notion that the arts and humanities can affect computing in deep ways. To consider this new set of connections, we must go beyond thinking of computing only as a technology. Stretching ourselves in this fashion is natural for mathematicians and computer scientists, but not so much for everyone else. We also need to divorce computing from technology in how we see the world. The world is full of computing if we define computing as the study of information dynamics. A video (or click on the photo of Nefertiti above) was recorded and rendered at IDRH at KU. Can we get beyond thinking of computing as something that occurs inside of boxes? If we can, then computing becomes even more embedded in culture.


Abstraction and Sushi

Abstraction is part of what makes us human. We are able to reason about things by forming abstractions. I enjoy eating sushi, but what is sushi except as a conceptual category of raw fish with rice?  I feel a need to understand sushi, the concept, by eating different kinds of sushi or by reading about sushi in an article, or by looking at many pictures. By doing so, my understanding of the sushi abstraction is made clearer. So, abstraction is not all in the mind; I need to physically experience many examples of sushi to strengthen the mental concept....the abstraction. We can approach abstraction in mathematics and computing in the same way. By seeing many examples of "plus", I come to understand what "plus" means. The above video was a short lecture I gave on the topic of abstraction to students and parents visiting the University of Texas at Dallas (UTD) during Engineering Week. If abstraction is made strong through experience, new possibilities emerge. A "plus" is made real around us, while also giving us increased understanding of this concept.

Making the Abstract Concrete


During Engineering Week at the end of February, the Creative Automata Lab hosted an onslaught of visitors of all ages. We showed several projects representing the Lotka-Volterra predator-prey relationship, a mechanical integrator using simulated sand, and the use of force feedback in embodied interactions with the distributive law of algebra. A video was produced from the projects, and students are interviewed for their perspectives. The video can be seen by using this link or by clicking on the photo of the ATEC Building shown above.

Engineering Week


Our Creative Automata Lab had its open house during the Engineering Week celebrations on Saturday, February 22nd (yesterday between 10am and 2pm CST in Dallas). The turnout was phenomenal. I have to thank the organizers of the week-long event and to all of my students who created amazing demonstrations for everyone. What are the summary points? People like to touch things, play with them, and understand fairly complex mathematical and computing phenomena by experiencing them firsthand; hearing, seeing, and interacting. Writing on the whiteboard doesn't cut it any more. The two 3D printers (Maker Bots) in the lab were exciting for visitors not so much because 3d printing is a new phenomenon, but because these printers have visible moving parts. You can see what is happening because the printers  are designed to show their internal components, a bit like the Centre Georges Pompidou in Paris. We'll be sorting out lessons-learned from the event for some time to come. Next up will be blog posts on our exhibits and the video that was compiled based on student thoughts and the lab mission.


Castle Clock Teaching



For my Fall 2013 simulation class, I decided to try something a bit different than the usual verbal onslaught of modeling methodology with mathematics and scattered applications. We used a type of learning that is most commonly known as object-based learning, and frequently practiced in museums such as the one in University College London (UCL). An object is chosen as the focal point of collaborative discovery. So, we chose al Jazari's 13th century water clock which goes by "Castle Clock" because of its original physical location. Al Jazari was one of history's great masters of mechanical invention. The clock is an astronomical computer, like all time pieces. This turned out to be a fun and useful learning experiment but it had its challenges as well. The issue is that the academy (which is to say most places of formal learning) is splintered into multiple disciplines. So, while the students in the class had a roller coaster ride through history, culture, systems dynamics, computer science, physics, language, and mathematics, this approach runs counter to how we normally teach students, and how students and faculty get credit for their work. My gut feeling is that as the academy evolves, this mode of learning will become more common and the credit and disciplinary issues will evolve with it. At UTD, we are making inroads here and things look quite positive.

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.

Alive and Kicking



Da Vinci's cam hammer was covered briefly here. This object was the "object of the day" during the Creative Automata class at UT Dallas (Jan 22, 2014). At the start of each class, students are shown an object from real life in a photograph or perhaps from an illustration. In this case, the object is a picture of a kit model that I made and later stained. The physical model was handed out during class for handling and observation. The driving question is "What information do you see?" This question elicited a wide number of expected and completely unexpected responses, all of which were welcome since this exploration is how we communicate and learn about computing. The first comment was that there was a conditional branch on the snail cam. You can see the cam driving the follower (the rigid linkage that connects to the hammer on the right side). When the follower makes contact with this discontinuity in the cam, the rising hammer falls, causing a change in state (another type of information flow---of control). Someone said that there was a stack (a type of data structure similar to a stack of plates), but when we went looking for the stack, it was not clear that one existed. The support structures for the cam shaft are inverted ternary trees of height one. Seeing information--in an ancient machine. However, the technology goes much further back than Da Vinci in what were called trip hammers written about by the Chinese in 40BC in the Ji Jiu Pian dictionary. So, foundations for computing were were alive and kicking early on with hammers.

Predator vs. Prey



Our lab's first model products will be a set of prototypes of the Lotka-Volterra (LV) model of predator-prey competition. If lions (predators) chase gazelles (prey), then there are mathematical relationships that can be expressed to capture the overall population change resulting from this effect. The LV model was proposed in 1910 according to the Wikipedia article as a "theory of autocatalytic chemical reactions," and then extended in 1920 for organic systems. In the model, we find the fairly general terms present that make the dynamics interesting--growth (birth), decay (death), and interaction effects modeled as a multiplicative effect of the population variables. You'll find these same terms in many other mathematical models. Returning to the lab, we chose this model out of thin air based on some sketches I made on the office whiteboard seen above. Unfortunately, there are some errors in the design, but it was some sort of beginning.  Despite the confusing juxtaposition of figures, we observe a transition from equation to block model, and then to an analog model based on water flow. The idea for the spherical floats at the surface of the water will be familiar to all those who have had to correct leaky toilets containing older ball-cock supply valves. The redesigns and creative prototypes of LV will be unleashed in future issues of the blog over the next month.

Beyond Tool



Hammers are pretty useful objects around the house. This is a photograph of a claw hammer - it can be used to bang nails in things like sheets of wood and plastic, and then remove the nails later. A hammer is a tool. But the hammer pushes back because by using it, I now have to think about what certain materials are made of and what it means to layer objects on top of one another. Computers, and the mathematics that drives them, are like hammers--you cannot use a computer without being fundamentally changed. You think differently when you interact with computers and add numbers together when paying the bill at a restaurant. And since almost everything has a computer in it these days, that means that your philosophy, well-being, and way of knowing the world are all rapidly evolving. It doesn't seem like that should be so. Why can't we just use something that interfaces with a computer and treat the computer tool as, essentially, invisible? Because using a tool is a two-way street. Now that I know my hammer is talking back to me, I am a little worried.

The Disappearing Trick of HiTech



We couldn't do without technology. It shapes our lives and makes them better for the most part. And yet, we must look at what is lost as much as we celebrate what is gained. Thankfully, what is lost often comes back later. Let's take the example of Vannevar Bush's differential analyzer - a real gem of a machine, whose purpose was to solve differential equations. And yet, it is how it solved them which made all the difference (pun intended). Here is a photo of the wheel and disc integrator from the MIT museum. This column is too short to discuss how it works, but once you see it, integration becomes child's play. It makes sense.  At the top of that web page, there is a prophetic quote from Warren Weaver (of the Shannon-Weaver communication model) about exactly what was lost in the way of understanding once the analyzer was decommissioned and faster equipment took center stage. Something gained; something lost. And yet, we now have the technologies in human interaction to have our cake and eat it too -- we do not have to give up on our human interfaces as we make progress toward faster processing speeds with smaller components.

Algebra Moves


Mathematics lives in a world of typography. Like the symbols "a", "x", and "/" for algebra. Mathematical text tends to be static--can't touch this, a bit like being in an art museum. A few years ago, I started a project (JumpingSymbols) which has involved 3 graduate students over 3 years, and numerous discussions with several friends and colleagues at the University of Florida, where the software was developed. What would mathematics looks like if the symbols were real objects that could be manipulated? Shouldn't we be able to move these objects? This sort of capability exists to some extent in various algebra programs, but the manipulation tends to be  constrained. I've opened up the software using a GPL license and put it on github for anyone to download and experiment with, or to join in and make it better. It is written in HTML5/CSS/Javascript. Or if you just want to play with it on my University of Texas at Dallas server (metaphorz), go here and solve some algebra problems!