Teaching Online Journalism

Teaching programming to journalists

I’ve been thinking about this a lot lately. I’ve been preparing a syllabus for an upper-level undergraduate journalism course that I will begin teaching in January. I’ve been learning Python and starting to learn about jQuery.

I’ve got some advantages: I learned HTML in 1995. (I bought a book and did all the exercises in it, at home, on my own time.) I played with the BASIC programming language on my first computer in 1984 until I learned how programming works. (I bought a book and did many of the exercises in it.) I bought an account at an early online community called the WeLL, which gave me access to a Unix command line, which helped me learn about the Internet before we had the Web. I think that was around 1989. (I bought a book to learn Unix commands.)

I’ve had no formal training in programming or Web technologies. My B.A. is in print journalism.

I’ve got some disadvantages: I don’t have strong inclinations toward investigative reporting. I’ve taken two or three workshops with the old computer-assisted reporting crowd, and I admire what they do. I attended a wonderful presentation by Jennifer LaFleur (director of computer-assisted reporting at ProPublica) at a recent conference. However, I seem to lack all interest in examining large datasets. I can download them, dump them into Excel, and clean them. After that, I have no desire to do anything else with them. (I’m not proud of this. I’m just saying.)

I’ve had almost no math education. High school algebra and, in college, symbolic logic. No calculus. Not even a geometry class.

So I think about my journalism students. I think about what I like and don’t like, what I consider fun and interesting, and what I don’t. And I look at all the great work being done online by all kinds of journalists using a wide variety of digital tools.

What I want to do is open doors.

I want to be able to show journalism students that they can do things with code. Even if they think they can’t.

Above all, I want them to understand that “doing things with code” can lead you in several very different directions in the field of journalism.

This is important.

We can offer a course that focuses on Web technologies — HTML, CSS, JavaScript, etc. But there is no data journalism in that class. And a lot of the students are going to hate typing those little brackets and so on. They’ll be so happy when that course is done and they never have to do that again.

Moreover, they won’t practice what they learned, and very soon, they will forget all of it.

We can offer a course about scraping and doing stuff with large data sets. We can teach students how to find stories in data. Students who like this, who learn how to do it and want to continue doing it, are probably among those most likely to get a journalism job. Like the Web technologies course, though, this is a class that many students will either avoid like the plague or take and then count the minutes until it’s over.

Right now, many of you might be thinking thoughts about two types of students: those who appreciate such a course and use what they learn in it, and those who are not appreciative — and so what? Forget about them.

What I’ve been thinking about — a lot — is that there are a zillion ways to turn students off. To make them do things in a class that result in the students forming negative opinions. “I don’t like this,” or “I’m no good at this.” (I think this often happens in Reporting 101 courses too.)

Learning that you can do these things — these code type things — is the first step. Learning that you are capable. You can figure this out. You are not “bad at math,” or “bad at computers.”

Most journalism students learned — back in high school, or even before — that they are “good at writing.” Some of them are quite surprised to learn (in Reporting 101) that they are not good at writing a lede, finding appropriate sources, avoiding cliches, or using commas correctly. Yet the confidence that they are good at writing will sustain many of them through all kinds of setbacks.

If students realize that they can write code — they can figure it out, solve problems, make things that work properly — they will have opened a door that leads to dozens of different journeys in journalism.

My concern is that the way we introduce code to journalism students can push away those who might really excel in one of those areas.

I don’t have a solution. I don’t know if there is one.

But again and again I return to the way I felt in 1984 when I was learning BASIC, in 1995 when I was learning HTML. It was fun. I was happy to be learning. I completed little exercises and they worked. I felt proud of myself.

I thought: I can do this.

(Image credits: Python interpreter, Mindy McAdams; “Our database,” Jennifer LaFleur; Data Journalism Handbook; WTF cartoon, Martin Schmid)

Categories: code, ideas, teaching, training


  1. Good post for students and instructors: “The way we introduce code to journalism students can push them away” @macloo http://t.co/Eqims5Fa

  2. @DrSturg says:

    @macloo gives some interesting thoughts on
    teaching programming to journalists. http://t.co/FawZpQWl

  3. lizhannaford says:

    Is it easier to teach commute science students how to do journalism? Maybe entice CS students to work on the student online news site and get them to do cool stuff with journalism there. Maybe that would inspire the pure journalism students – seeing right before their eyes what code can do for their stories. Anybody had much experience of doing this?

  4. lizhannaford says:

    That was meant to be COMPUTER science students, of course! Over-confident spell checker.

  5. Medill has scholarships for computer programmers who want to study journalism:


  6. @dutopia says:

    .@macloo asks the right questions about teaching programming to journalists. Keep it simple to make it attractive. http://t.co/1n3d3tGv

  7. @adchavez says:

    .@macloo says to succeed at teaching code we need to take care to introduce it in ways that don’t frustrate students: http://t.co/FVenz424

  8. […] article, Teaching programming to journalists, explains how she can only get her students interest in coding if they believe they can do it. The […]

  9. @ddttom says:

    Teaching programming to journalists http://t.co/JWbZqmjW

  10. @macloo has deep thoughts on difficulties of teaching code to journalists http://t.co/RXoK0vbr

  11. On learning how to teach student journalists the value of writing–code by @macloo: http://t.co/xAmpnbNl h/t @jamesbreiner cc @mattwaite

  12. Teaching programming to journalists http://t.co/8zKRSgCD

  13. @nereidadin says:

    On learning how to teach student journalists the value of writing–code by @macloo: http://t.co/AOHnjHPw h/t @jamesbreiner cc @mattwaite

  14. @CindyRoyal says:

    I agree it’s all in our approach. That’s the opportunity. RT @macloo: Teaching programming to journalists. http://t.co/VNVtQPgZ

  15. Yes, you can code! Via@ksablan @rajunarisetti Rethinking teaching student journalists value of writing code by @macloo http://t.co/Ic1rOI6i

  16. @yurivictor says:

    The way we introduce code to journalism students http://t.co/8AIaldqX

  17. @KimFoxWOSU says:

    #journalism | RT @ICFJKnight: RT @spcrucianelli: Teaching programming to journalists http://t.co/Ul3l5N45

  18. @HackJersey says:

    .@macloo nails one of our many goals: “It was fun. I was happy to be learning… I thought: I can do this.” http://t.co/4mEmldCI

  19. @ronrodgers says:

    Looking for a class? Prof. McAdams is teaching programming next semester. Get on board

  20. Enseñando programación a los periodistas http://t.co/TImb9CWM

  21. @mmoral100 says:

    Recuerdo aún a profesores del área de periodismo me decían que no debia enseñar programación a mis estudiantes:http://t.co/YZT5As0b

  22. Wish @uw_sjmc had a coding class! RT @paulbradshaw: Teaching programming to journalists http://t.co/FkLn4SFv

  23. I agree – in fact it’s the whole reason I wrote Scraping for Journalists: because I felt that traditional programming training/books were frustrating for journalists: “So I know what a variable is. How does that help me get a scoop!?’

    Starting with instant gratification techniques with tools like Google Docs gets over that hurdle.

    Likewise, I recently ran my online journalism module with *no lectures at all* on the basis that it was more important to give students problems before you give them solutions (code/tools/techniques). See http://onlinejournalismblog.com/2012/09/14/stories-and-streams-teaching-collaborative-journalism-with-peer-to-peer-learning/

    That worked so well I’ve extended the approach into other modules.

    But your post makes me think about this in a different way: the inherent pleasure of simple achievements. Should I *only* be showing them a few simple tricks and letting curiosity do the rest…?

  24. @couve says:

    La prof @macloo se pose des questions avant d’enseigner le code à ses étudiants en journalisme http://t.co/EN9w2ZrB cc @davanac @pirhoo

  25. Have you found any good courses for teaching programming to journalists?

  26. I’m using a combination of several online courses in my own course in the fall. Check out the syllabus (they are linked there):


Leave a Reply