Coding. For Journalists?

Do you understand this? If not, you might want to learn a little about coding

Do you understand this? If not, you might want to learn a little about coding.

Last week, the “should journalists learn to code?” question came up again. Due to work, commitments and life, I wasn’t able to make a comprehensive response at the time, other than a few Facebook comments and some retweets. Now, I will attempt to chime in on some things about this topic that are very important to me and the work I am doing at Stanford.

The past week’s iteration of this debate started with this piece in the Atlantic by writer Olga Khazan “Should Journalism Schools Require Reporters to ‘Learn Code’? No.” Khazan seemed to convey that she wasted valuable writing time attempting to learn to code. There were some thoughtful responses, namely this one by Knight-Mozilla Fellow Noah Veltman “On Journalism and Learning to Code. Again.” University of Florida professor Mindy McAdams created a Storify to capture some of the social media conversation and wrote a post “Code For Journalists, or Why Journalists Should Learn to Code.”  Finally, Khazan followed with some clarification and a little back pedaling with “What Should Reporters Learn in Journalism School?” There was even a chart, a little tongue-in-cheek, a little bit serious, that demonstrates the learn-to-code decision. Hint: it boils down to “do you like to code?” If so, then do it!

This is a topic that is near and dear to me. You see, I have been teaching journalists and other communicators to “code” for years. It started with HTML, then CSS, but in the past few years, I have added a variety of languages and platforms to my syllabi at both the undergraduate and graduate levels. I have engaged students in projects that were funded by AEJMC/Knight grants, using VIDI visualizations and Drupal to study Texas State’s status as Hispanic Serving Institution with the project and Ushahidi with our responsive app. We have covered SXSW Interactive for years at I have introduced things like JavaScript, JQuery, Web scraping, Ruby on Rails, all sorts of data-related tools, to journalism students. These approaches have evolved over time, but one thing is certain. The majority of journalism students want to learn more about code as long as it is taught to them in a supportive environment and is executed in a journalism context. I have been encouraged for many years with the opportunity we have to reach more female students with technology skills by approaching tech from within mass communication.

Recently, I participated in the Hack the Curriculum workshop at ONA in Atlanta. I worked with the team that was focusing on programming and data, and there were lots of great ideas and tons of optimism about these topics in the curriculum. Follow the link to the post I did outlining the ideas that came out of that session.

And, I am currently in residence at Stanford as a Knight Journalism Fellow working on a platform to teach communicators how to code. So, of course I have an opinion on all of this. In one discussion on a post I made on Facebook, I concluded:

Journalism just needs more people who can code. If someone with a journalism mindset likes to code, wants to learn more, wants to use it for storytelling, then he or she should do that. If coding creates something we call journalism, then it’s something we need to be teaching in Journalism School. We teach things other than writing/reporting in J-School. Lots of things.

So, while many of these points have been elaborated over the past few days, here are the reasons I think communicators need to understand code:

  • Coding develops problem-solving skills. One thing I have recognized in my coding classes here at Stanford is that syntax is relatively easy. Figuring out the steps to solve the problem is what’s difficult and requires lots of practice.
  • Coding is an element of digital literacy. The students of today will be the decision makers of the future. A strong digital mindset will be required for those working strategically in media companies. And having an understanding of code and its capabilities will only enhance one’s ability to make decisions in a digital environment.
  • There are jobs for those with strong digital skills.
  • Coding supports storytelling. Just look around The New York Times, ProPublica, Texas Tribune, WNYC websites to see numerous examples of data visualization projects that enhance, supplement or stand in their own right as storytelling. I have a Pinterest board where I accumulate a few of my favorite examples of data viz.
  • Coding is fun. And if you like to do it, you should explore it in terms of your own creativity, innovativeness and curiosity.
  • Coding for journalists might need to be taught differently than coding for other types of jobs. There will need to be different levels of support, instruction, context and examples to teach these students. This is what interests me most in my Stanford project.
  • “Coding” is also not a thing that you learn and then you are finished. It is an endless hole of knowledge, trial, error, repeat. New languages and platforms are introduced. It takes time to become familiar with a new language, but there are elements that are similar across languages. If you understand the syntax of one, it isn’t that hard to learn the syntax of another. The real difficulty is in your approach to problem solving, as mentioned above. How exactly do you break down the challenge to make something that works the way you envisioned? It’s moving something from idea to execution that is thrilling. Learning to code should be part of a lifelong learning strategy.

Don’t want to learn to code? At all? Well, you might find yourself not qualified for certain jobs that at least want you to understand HTML enough to work in their content management system. You might find yourself more confused than necessary when working on a collaborative data visualization project in your organization. Or you might not be able to manipulate and understand data that supports your own projects. Lastly, you might not have the skills and experience to move up into management in a digital-first organization.

Is all this OK with you?

I have a long way to go with my platform. I’m still looking for a catchy name for it. Let’s just call it CoJo for now (not to be confused with Cujo, even though I do feel like a rabid dog sometimes when I am trying to convince people of the need to learn to code). Mostly, I have been thinking about what I already teach, what I need to learn and how I might be able to present it. I have been watching and learning from others to get inspiration on approaches and techniques. I need to consider design and interface. But first, I think I will start tackling some of my existing lessons by creating a comprehensive tutorial template that can later be translated to video lessons and code simulations.

Who else is doing this? There are some great groups that are already tackling this issue. CodeAcademy, CodeSchool and are online platforms that deliver training in many of these areas. There are lots of new organizations cropping up around the country to teach Web Development, like Maker Square in Austin, Starter League in Chicago, the Flatiron School in NYC and several in the Bay Area including General Assembly and Hack Reactor.

There are some journalism-specific groups that have emerged. The Knight-Mozilla OpenNews project Source has been showcasing news app projects for more than a year. Code With Me is a great workshop started by Sisi Wei and Tom Giratikanon that has done introductory, in-person code workshops for news professionals that focus on mentoring. And For Journalism is another group that I have supported (check out their Kickstarter) and hope to collaborate. They are offering a series of modules to train news app developers. But I think there is room for a variety of approaches and levels to which this type of training can be offered.

At Berkeley, they have faculty teaching classes called Coding For Journalists and Data Visualization. Rob Quigley has taught an iPhone app development class that included both journalism and computer science students at The University of Texas. Curriculum innovation is happening, but it needs to happen more quickly and in more places. More faculty need to understand that there is a plethora of new skills with which they need to acquaint themselves if we hope to provide what media students need to be successful in the future.

I want to take some of the things that I and others are doing with small groups of students and make it available for all journalists, journalism students and faculty (yes faculty). We can’t teach 20 people at a time with the current handful of instructors and fill the need the discipline now has.

Here are some of the things I know:

  • HTML
  • CSS
  • Web Design principles
  • Web forms and form processing
  • Responsive Design
  • JavaScript
  • Chrome Inspector
  • Customized Content Management Systems (WordPress)
  • Excel

Things I teach, but could be better:

  • JQuery
  • Ruby on Rails
  • PHP
  • SQL using SQLite Manager
  • Web Scraping using Python and Scraperwiki
  • GitHub and Git
  • Bootstrap
  • Terminal
  • Principles of Data Visualization

Tools that I have introduced:

Things I need to learn:

  • Using APIs
  • iPhone development
  • Django
  • R
  • D3.js
  • Associated JavaScript libraries, like node.js

Most of these things require you to code. For some of them, it is helpful to have a knowledge of code. But an unwillingness to code at all won’t get you far with many of these concepts. You’ll notice this list doesn’t begin to cover some of the visual aspects of digital literacy like photo and video editing. These are beginning to diverge into separate competencies, but visual skills, as well as written, are still important for those moving into journalism.

There are a range of languages, platforms and tools in which (at the moment) one needs a working understanding so they can at least acquire resources and comprehend capabilities. The more I look at this, the more I think an entire academic program can be built around these skills and concepts. Some of these things can be picked up in an afternoon. Others may take a lifetime. But if you are a communicator who wants to be viable in a future that requires you to write, report, communicate visually and with data, with any hopes of moving into a role of influence, then my advice is to get on the train now and hang on for dear life. I hope that I can develop something to make this a little easier. And more fun.

Your thoughts, comments and suggestions would be most appreciated.






One thought on “Coding. For Journalists?

  1. Cindy,

    Excellent posts. One of the things that I think is important is trying to teach programming in a journalism context, as you mention. I would not recommend sending journalism students off to the computer science department (some might think that interested students should just go there, leaving journalism departments to tackle other subjects). Computer science is not the study of programming per se, and a lot of intro programming classes do not involve real-world work. Instead students will find themselves building programs to solve math equations and other similar tasks. This is a great way to turn off students who want to learn programming to build journalism projects right now.

    This is why it is important that journalism programs figure out ways to introduce programming to their students.The computer science department is probably not going to have a class on Web scraping or on working with government data sets. Instead you’re going to find classes in data structures, algorithms and cryptography.

    And of course computer science does not teach CSS, HTML and other markup languages. Front-end work on user interfaces is usually not the province of the computer science department.

    So, if journalism schools would like to see their students learn more about the Web and programming within a supportive journalism context, they will have to put classes into the curriculum and build in workshops and unclasses outside of the curriculum. Student media also can play a role with helping students learn to build Web projects within a real-world context.

    Should journalism students learn to program? Yes. That doesn’t mean they’ll ever program professionally, but without exposure to programming during college, far less journalists will ever attempt to learn programming. It’s also a lot easier to work on a team on a big Web project if you at least know what it possible.

    I studied constitutional law while an undergrad, and even though I’m not a lawyer or a constitutional scholar, it was worthwhile for me as a journalist (and as US citizen). That’s the spirit of college, and we should be encouraging journalism students to have a breadth of knowledge and skills.

Comments are closed.