Confession: I’m not the best coder.
Last semester, I had the pleasure (and misfortune) of taking Expressive Computation with Professor LeMasters and while I walked away with nascent computational confidence and a new avenue for creatively expressing myself, coding was more of a tedious task. Prior to joining CCT, I had no experience with computation, let alone with computational thinking. Abstractions seemed foreign to me — and still do, if I can be frank. However, as Jeannette Wing explained in a more practical way, abstractions are simply artifacts of deblackboxing in which we extract what’s necessary and eliminate the clutter.
Eureka! Examining abstractions in computation is to editing in journalistic language and facilitating social change. Computational thinking centers on the idea of selecting ideal abstractions and drawing connections amongst these layered artifacts. The process of getting a news story is the same. News are happenings through a subjective lens; what may be news for one is irrelevant to another. The measures of what makes a “good” abstraction parallel to what makes a “good” news story, or what contributes to its newsworthiness. Moreover, computational thinking also juxtaposes with the mediation of news: efficiency (how fast? how much space/time? how much power?) and correctness. There is a grammar to computational thinking that syncs with the grammar for journalistic standards. Yet, journalistic standards often steps on its own feet by comprising one measure for another. For example, during the Columbine shootings, local and national media outlets rushed to the mourning Colorado city in a race for first coverage, but wound up twisting the facts. This left many, particularly the families and classmates of slain students, with a sour taste in their mouths about the integrity of media. The practices of news organizations are scrutinized based upon their gauging of efficiency and correctness, just as consumers closely judge and evaluate the manufacturers of their beloved products. Companies circulate surveys within apps to receive feedback from their users about the program’s usability and efficiency. Some end-users may conclude that the app adequately performs its function, but could do so in a quicker way. Their conceptual models don’t match the actual design model, thus new and improved (but still flawed) updates to technology arise. Remember, when Google Chrome and Mozilla Firefox were created as competitors for Internet Explorer.
Computational thinking is not exclusive to the fields of computer science or technology. As we explained last week, these worlds are not detached from the humanities. The very concepts we take away from computational thinking — planning, learning, scheduling (as Wing’s text explains) — are the basis for social movements. Pseudo-coding and implementing plans before executing a code was the same approach civil rights groups like SNCC and SCLC used to create social change in the South. Computational thinking is about finding the Achilles heel or the problematic source within a system and solving it with the intent of preventing redundancies from reoccurring.
With the practicality of marrying computational thinking with social change, I wonder why such concepts are guarded or excluded from other disciplines. Computers, computation and computational thinking are preceded by basic human interactions and behavior. The way we interact with other actors within a sociotechnical system is the same way in which software and hardware interact. Why don’t these areas of study share the same terrain in academic settings until the collegiate level? (FYI: I would have loved to make this connection at least in middle school.) Professor LeMasters discussed his involvement with President Obama’s My Brother’s Keeper initiative last year and has even facilitated workshops in Maryland to bridge the gap between adolescents and the daunting world of computation. It’s disheartening to compare standardized test scores in the math and science category amongst genders and races. My experience with math and science was a frustrating one — I did well in both fields, but I was better with words, not numbers; my grades and SAT scores were proof of that. The language around STEM creates a threatening vortex, especially for those unfamiliar with or intimidated by mathematical thinking and engineering concepts. Fortunately, more and more initiatives are budding in which the glass ceiling of computer science and technology are being shattered, opening opportunities for Black students, women and other minorities such as Verizon’s #PotentialOfUs campaign and GUWWC here on the Hilltop.
After completing LeMasters’ course and navigating through this week’s Codecademy assignment, I realized that there is greater value in being well-versed in code. The specificity and form required for coding may be cumbersome, but it’s about the bigger picture. It’s about setting personal goals and accomplishing them. Computing allows me to take pride in the little successes on my way to a bigger objective. More importantly, computation is certainly not an exclusive club, where you either are or you aren’t. You don’t have to be a middle-aged White man to qualify as a master of coding or computational thinking. Thankfully, the binary buck stops here.