Tag Archives: computational thinking

Metaphor is key

I’ve never been great at left-brain thinking — math especially. Reporters are notoriously bad at math, so that was one more thing that helped me fit into this profession.

But the further removed I’ve become from the feeling of stressful confusion that dominated my experience in math and other classes that generally served as precursors for those who went into computer science careers, the more interested I’ve become in the prospect of learning code. Computers aren’t going away.

Getting past the jargon of programming will be a huge hurdle for me. I love deciphering jargon — good journalism writing is being able to cut through jargon and clearly explain concepts to readers — but up until I really understand a concept, it’s difficult for me to connect the dots for myself, let alone readers. That’s why Greg Linch’s post on computational thinking was so helpful.

Specifically this passage, from Jeannette Wing’s article that Greg pulls is very helpful for getting in the right frame of mind:

“When your daughter goes to school in the morning, she puts in her backpack the things she needs for the day; that’s prefetching and caching. When your son loses his mittens, you suggest he retrace his steps; that’s backtracking. At what point do you stop renting skis and buy yourself a pair?; that’s online algorithms. Which line do you stand in at the supermarket?; that’s performance modeling for multi-server systems. Why does your telephone still work during a power outage?; that’s independence of failure and redundancy in design…”

Metaphors like these will greatly help me de-mystify the definitely mystifying world of computer programming and instill some much-needed confidence when I’m tackling topics like this.

I also felt super mellowed out when reading the Zen of Python post. Many of these mantras work for life.

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.

Especially in regards to the “explicit is better than implicit” piece, I’m getting a sense that writing code is a bit like doing the work of an observant reporter — one who shows rather than tells — but it’s even more akin to writing a screenplay. When doing screenplay writing, every action is clearly denoted and explicitly stated. Actors in a horror never “feel scared” in a screenplay. They start to sweat. They clench their fists. They dart their eyes around. Their intention and thoughts are only conveyed through action.

It’s a very different way to think about writing than what many of us are used to, but learning it has helped my journalistic writing.

Modern Day Journalism

Our world is constantly developing and changing. From the readings, we can see how the internet evolved to lead us to where we are today. It is not going to stop here and as our demand increases, the urge to create something new is a requirement. As our world becomes more complex, the problems we face do too. Computational thinking is a critical way to solve such problems because we need to understand and assess the situation before taking a stab at solving it.

I found it very interesting to learn more about the importance of our mindset behind learning how to code. As PR professionals, we understand the importance of digital platforms and how crucial it is to utilize them as best as possible. A couple of years ago, I was working for a tech company that helped couples plan their weddings. One of our main goals was to constantly update our mobile app to make it as user-friendly as possible. Consumers are always on their phones and we need to meet such demand. We must understand human behavior to understand their needs. Journalism is evolving and in order to do better journalism, we need to incorporate innovation and technology. We must look at a matter as a whole then dissect it into small pieces, in order to find patterns and understand what the issue is made up of.


Computational Thinking and PR

Link to GitHub profile: https://github.com/tatyanaberdan

Out of this week’s readings, I want to address three that I found most interesting.

Firstly, although I am not a journalist and am looking to build a career on what many consider the opposite side of the communication spectrum (in public relations), I found many of the ideas in Professor Linch’s blogs on the connection between journalism and computational thinking applicable to the type of work PR professionals do , like debugging and defining your variables and functions.

One topic that has been touched on in every one of my classes at Georgetown so far is the fact that it is challenging for those of us in PR to prove the ROI (return on investment) for our work because it is often difficult to measure the real impact and effectiveness of PR campaigns or PR strategies. Most PR professionals draw on past experiences or instinct to guide their work rather than any type of models or systematic method. I think this approach is a major factor in why PR professionals are often not offered a seat at the table  or valued as much as those within a company that do work of a more “scientific” nature, like lawyers or even marketers. I think being able to create and use models to solve the crises PR professionals deal with and, in general, learning to look at PR work through the more structured lens of computational thinking would not only help us make better decisions but improve the credibility and public image of the PR profession.

Secondly, “The Zen of Python Language” is another reading that stood out to me, again because so many of the principles could be applied to PR work, like the idea that errors should never pass silently or that now is better than never.

Lastly, I want to highlight the “How the Internet Works In 5 Minutes” video because it was extremely helpful in giving me a better understanding of how the entire concept of the Internet and being “online” works. As someone who is completely new to the world of programming and web development, the video helped clarify terms I thought I understood but actually didn’t like server and IP address. However, the wrapped candy analogy threw me off, and I still do not quite understand how using IP addresses keep you from sending information to the wrong client?

Computational Thinking and Open Source Data

I find your comparison of computational thinking and journalism to be very interesting. It seems that computational thinking is just a more modern term and view on analytical thinking that incorporates today’s rapidly changing, technology-focused world. I have always generally thought there were two camps of people: the left brain, logical math and science people, and the right brain, creative writers and artists. Myself being the former. And this is actually partially why I went into communications, to challenge myself and force myself to learn to be more divergent, look outside the box. But we are who we are, and I naturally found patterns to guide my writing and use formulas to generate new ideas. I’m curious to see how this semester shapes my thinking (or my way of thinking shapes how I learn web development?) and whether it changes the way I approach my job in public affairs and future career path. 

I was listening to a TEDtalk podcast recently on open source data and how the concept has changed the world, and will continue to do so. The possibilities are limitless… I particularly liked two talks: one about open sourcing the design and functionality for an underwater diving robot, and the radical notion of an open source democracy where citizens vote on each issue before Congress. The host of the podcast talked about Linus Torvalds and his novel idea to open source his operating system Linux. ‘Free software” leads to new ideas and innovation, but also allows for people all over the world to get more affordable smartphones like the Android. I also heard a talk by Tim Berners-Lee on creating the World Wide Web and his, some would say insane, decision to demand the web be open source for all to use (aka. no charge.) But if he had not chosen that path, the WWW might not exist today, but instead would be millions of databases that don’t talk to each other.

I appreciate the other programming philosophies and guidelines, and look forward to a great semester putting it all to action!

Github Profile – https://github.com/xof88