Building the bridge between journalism and computer science

Computational Thinking in Journalism: Recently Asked Questions

My  essay on the need to foster comptational thinking in journalism has generated responses ranging from skeptical to intrigued. In this post,  I want to particularly respond to two of the questions and observations that have been raised. # Link in context

I’ll take the comments at Poynter first. One commenter said that the essay should have been entitled, “Digital and Internet Tools Augment Analytical Thinking.”  This was my response: # Link in context

Thanks for your comment. I don’t pretend to have a lock on this, and the responses help me refine my thoughts. # Link in context

Your proposed title, “Digital and Internet Tools Augment Analytical Thinking” accurately describes some of the traditional ways in which journalists have used computing technologies. What I’m suggesting though, it that computational thinking can also help journalists conceive new tools, or new ways of applying existing tools. # Link in context

This isn’t limited to the collection and presentation of editorial content. For example, Blogher, Inc. runs a Flickr RSS feed of member photos tagged “BlogHer” below the nameplate. It’s a design feature that reinforces their identity as an online community. That’s an example of computational thinking in design. # Link in context

It’s largely a matter of understanding how to use the computing technologies in ways that are most effective in accomplishing your goals. Does that make sense? # Link in context

Another Poynter commenter scoffed that the essay was “a mashup of every conceivable digital buzzword.”  She added, # Link in context

Is ‘deconstructing algorithms’ some kind of code for managing searchablity?
Not sure why reasoning “abstractly” is a new goal – isn’t that a given? # Link in context

The buzzword charge tells me I have to work a little harder at translating my thoughts.  I don’t know what “managing searchability” means, but I can tell you what I meant when I talked about deconstructing algorithms.  At a base level, I’m talking about having the computer literacy to understand that a search engine locates and categorizes information based on a set of rules.  If you understand the rules, you can do a better job of querying the search database and grouping the results.  For example, some search engines sort results on the basis of popularity, while others sort on the basis of some sort of credibility scheme.  Some search engines try to decipher the meaning of search terms and factor in other items that weren’t explicitly requested but might be related. These are called semantic search engines. # Link in context

This has very practical implications for the editorial and business side of news organizations.  As writers and editors craft headlines and article text with the goal of search engine optimization in mind, the differences in search algorithms might require differernt search strategies.  This 2006 article comparing the Google, Yahoo and MSN’s search algorithms is instructive in that regard. This May, 2009 blog post discusses Google’s plan to change its search algorithm to make it harder for spammers to achieve high rankings. The bottom line is that these differences in algorithms can cause the same site to have different rankings on different search engines. # Link in context

The search and ranking algorithms within sites also matter. A February 2009 article in from CNET reported the controversy engulfing Yelp, a website that posts customer reviews of businesses and services after a newspaper investigation disclosed charges that the company accepted bribes from businesses to delete negative reviews. According to the article, Yelp blames the problem on their algorithms. # Link in context

There is also some debate about the biases that that may be inadvertantly reflected in sites using popularity to determine what content is promoted.  The arguments over sexism at is a prime example of this debate. # Link in context

Finally, as to the question about “abstract thinking. ” Of course, teaching abstract thinking is one of the goals of college education in any discipline. However, the concept of abstraction has particular meaning in computer science.  It’s a way of grouping similar types of information or procedures in order to simplify a computing operation. This is part of what Adrian Holovaty was getting at in his 2006 blog post, “A fundamental way newspaper sites need to change,” when he urged journalists to learn to think in terms of structured data. Bambooweb explains the concept well: # Link in context

“In software development, abstraction is the process of combining multiple smaller operations into a single unit that can be referred to by name. It is a technique to factor out details and ease use of code and data. It is by analogy with abstraction in mathematics. … # Link in context

Abstraction can be either that of control or data. Roughly speaking, control abstraction is the abstraction of actions while data abstraction is that of data structures. Control abstraction, seen in structured programming, is use of subprograms and control flows. Data abstraction is primary motivation of introducing datatype and subsequently abstract data types.” # Link in context

The concept of abstraction can be challenging for those of us who have not been trained in mathematics or computer sciencce.  Part of my challenge in this collection of writings it to help translate the concept in ways that those of us with more traditional journalism backgrounds can understand. # Link in context

CC BY-ND 4.0 Building the bridge between journalism and computer science by Kim Pearson is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.


  1. Ari Block says

    I agree Computational Thinking is very important and can be a very important tool no mater what area you are in. i am wondering why there are no tools to support computational thinking. if we relay want to push this idea i think its more then teaching a powerful way to think but also giving them the power to do something with this thinking method. its like standards committees, whats better defining a standard if how to do something or just providing a tool to do it by the standard very easily. as a programmer i don’t want to implement long standards but i don’t care about taking a ready module with a simple interface that will implement the standard. should we be educating or creating tool for computational thinking ?