Coding for journalists - an evolving reading list

Investigative data journalist Leila Haddou joined us in #datalockdown to deliver a lecture to data and investigative journalism students from City, University of London, Birmingham City University, and De Montfort University on April 30.

One point that came up during the session is that a lot of coding resources are not aimed at journalists. So, I thought I’d start pulling together a list of sources and some thoughts about them.

The initial version of this post will be biased towards R, as that is what I tend to work in. I’ll add Python and other resources as I go along.

Also, it doesn’t matter if you call it coding, programming or any of the other terms - I’m going to assume that we are talking about the data journalism workflow (acquiring, cleaning, analysing and displaying and equivalents) rather than building apps or websites.

Want to add anything? Tweet @glynmottershead with the hashtag #codereadinglist.

Cross language

Datacamp has a lot of materials to support training, you can pay for an account or if you are an educator it is possible for you to register your class for educational access. It’s really useful but one thing to point out is it is aimed at data scientists rather than journalists. This can mean that some of the exercises may not seem obvious at first, but stick with it.


Any course listed is not necessarily a recommendation.

Intro to R for Journalists at by Andrew Ba Tran of the Wall Street Journal. An excellent suggestion by Paul Bradshaw.


Journocoders is a London group I would recommend attending when lockdown is finished. Leila Haddou is one member of the team behind it. Think friendly group of people, coding, beers/soft drinks and a good supportive atmosphere. I go when I can and really enjoy it.

R Programming



  • I’m going to add my site here as the tutorial section is growing over time, and is focused on coding in R for journalists

Python programming

  • Automate the boring stuff is a Python book aimed at “practical programming for absolute beginners” - a recommendation from Mindy McAdams. There’s also a course on Udemy, the price seems to fluctuate quite a bit so keep an eye out.
  • First Python Notebook - a step-by-step guide to analyzing data with Python and the Jupyter notebook. Suggested by Paul Bradshaw.

Data visualisation

Nathan Yau’s site [Flowingdata] ( has tutorials and a subscription/membership option. I’ve done this in the past and found it really helpful.

Other tools and languages

Although I point out this list isn’t about web dev - if you want to understand web scraping then an understanding of web page structure is important, so I recommend w3 schools as one starting point.

Glyn Mottershead
Glyn Mottershead
Senior Lecturer

I have a keen interest in data journalism and developer/journalism. Human computer interaction and journalistic innovation are also areas of research and teaching practise.