: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/commons/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php
on line 524
“Understanding computing illuminates deep insights and questions into the nature of our minds, our culture, and our universe.” –Davis Evans
To be honest, I was once one of those who think that computers are technical and lonely. When I was a kid, computers were already designed with fancy interfaces. Kids took all the procedures happens on computers for granted without asking why when you push this button, the game would begin. Its language—how we communicate with computers—is completely foreign to us. Now we know it is because of the beauty of black-boxing. “Computing thinking is using abstraction and decomposition when attacking a large complex task or designing a large complex system”. Wing highlights a lot the concept of abstraction which is actually omnipresent in our daily life. I am now learning Spanish and when I memorize conjugations (pic) of verbs, I am actually practicing my pattern recognition skills. When I try to make sentences, I am following a sequence of grammar commands. Every step I feel like I am analogizing some grammar principles from my mother language or English. It’s all about abstracting the pattern or models from those unfamiliar combinations of symbol.
Example of regular conjugation
Example of irregular conjugation
Learning a language can be the process of following procedures and decoding the arcane symbols. It seems to have nothing to do with computers, but it somehow reflects “abstraction”. Learning something new is about how we process information—how we interpret it, how we generalize it, how we analyze it, and how we conclude it. And computer science is exactly the study of information process. Clearly, computing thinking is a fundamental skill for everyone.
As for natural language, itself is imprecise and ambiguous. It requires learners to be familiar with many unstated assumptions like many verbs conjugate irregularly without a reason. For learners whose mother tongue is from a totally different language system, merely following the description of procedures step by step in grammar books is far from enough, even though authors tried their best to make it precise and detailed. Natural languages are just inherently ambiguous. That’s why we need a more reliable language to describe those procedures, which could be understood and shared by every human being without common sense and assumptions. Back to last class, we’ve learned that information is not entirely equal to abstract knowledge as we thought. It can be quantified. It is something we can measure as its primary unit is a bit and linked to a binary question. The algorithm is a mechanical way to eventually guarantee the process of dealing with information. Taking the Python course in Codecademy is much more interesting than I thought. It is a beginner-friendly language which is succinct and clear enough to imitate/analogize. Learning Python also brings me a sense of achievement for I am not feeling like a passive user of this everyday little black box but an active participant who could speak to the computer. The computer is neither magic nor complicated. It just happened really fast. And it is for everyone.
Wing points out that two main messages need to be sent to the audience, one of which said that one can major in computer science and do anything, even arts. This reminds me of a post-modern literature group—Oulipo, which means Ouvroir de Litterature Potentielle or workshop of potential literature, founded by writers, mathematicians, engineers, etc.. Simply put, that is what’s going to happen when a bunch of computing/math major students decide to write poems. But hopefully, it was not a disaster. It turned out to be an experimental practice in post-modern literature history and even raised a new possibility of future poem production. The biggest feature of this literature group lies in the application of mathematical constraints in poem production. Although poetry and mathematics often seem to be incompatible areas of study, the philosophy of Oulipo seeks to connect them. Oulipian believe some structure and type of form should be set before writing, like using the thoughts of modular arithmetic, combinatorics, graph theory, etc.. Here is a famous Oulipian constraint: N+7. This constraint is to replace each substantive noun in a text with the seventh one following it in a dictionary. I use The N+7 Machine to generate 15 different texts. The original source is my favorite quote from Huxley’s Brave New World: “But I don’t want comfort. I want God, I want poetry, I want real danger, I want freedom, I want goodness. I want sin.” And the results look super awesome:
Does it look like strings of “literature” code that follow certain patterns?
Oulipo uncovers the potentiality of literature, by setting constraints. It somehow underlies the philosophy of computing thinking. Or it’s sound to claim that computing thinking is naturally embedded in everything that relates to the human mind and culture.
David Evans, Introduction to Computing: Explorations in Language, Logic, and Machines. Oct. 2011 edition.
Martin Campbell-Kelly, “Origin of Computing.” Scientific American 301, no. 3 (September 2009): 62–69.
Jeannette Wing, “Computational Thinking.” Communications of the ACM 49, no. 3 (March 2006): 33–35.