This is an updated version of a piece originally published in July 2014.
For young journalists facing stiff competition for jobs in digital newsrooms, the ability to code can really help them stand out from the crowd.
Yet programming does not have a strong presence on most journalism courses in the UK, with many students approaching data analysis and data visualisation with tools and software already available online.
In a Journalism.co.uk article on essential skills for student journalists to learn in their own time, suggestions on Twitter underlined the importance of learning to code – and our interviews with industry experts reflect the trend as well.
But for journalists who are entirely new to coding, how can they learn this new skill and what programming languages should they look into?
The coding world
The web is full of great visualisations or interactives created by an in-house team of designers and programmers. Behind every piece there is usually more than one programming language, each with its own array of functions and purposes.
Nowadays, there are many programming languages that can be helpful to learn and to use in a digital newsroom.
Here are ten platforms to help journalists learn easily in an accessible way, a mixture of free apps to learn on the go, as well as online platforms and quick taster tutorials.
HTML is the ubiquitous markup language of the web, which journalists can use to build and format web pages – making tables, adding images and text, or buttons and forms – while CSS can give the page a uniform style and add some design elements. If HTML provides the bricks and mortar of a web page, CSS can give it a lick of paint.
TimeToCode is a free mobile app for iOS which lets you get started with the basics of web design on the go.
At the moment, TimeToLearn only includes modules for HTML, covering basic syntax as well as more detailed tutorials for working with text, lists, tables and images.
A step-by-step guide to the basics of CSS, provided by HtmlDog. The tutorial has three levels, ranging from the simplest functions of the code – such as colours, text and borders – to more intermediate and advanced options.
The app is a mix of free tutorials and modules that need to be unlocked, which users can do by paying £2.29 per course, unlocking the whole app for £4.99, or unlocking individual lessons by tweeting a message of support for the app.
It's currently only available on iOS, but an Android version is coming soon.
Python is useful for managing and organising large data sets.
Learn Python gives users practical examples, giving the option to run code while learning, and showing advice and solutions when lessons become more advanced.Screenshot from TryPython.org
Try Python is a full interactive platform where a live Python console guides the users in all the paradigms of this language. The website shows how to structure the language according to the most common needs of a developer, explaining some of the key challenges of Python along the way.
Ruby is easy to embed and develop interactions between datasets and other components on a webpage.
Created by Eric Allam, this version of Try Ruby is an interactive console that in 15 minutes aims to teach users the most important skills. It is the perfect tool for beginners thanks to the simplicity of the platform.
R was developed with statistical analysis and graphics specifically in mind, so it is especially useful for data journalists as it can help with managing large datasets or creating visualisations.
This platform uses a game format to guide users through R as though they are on an adventure, discovering the syntax step-by-step through challenges and tests.
Offering learning in eight chapters, this is a suitable tool for beginners and demonstrates how R can be used as a versatile code.
Swifty is a free iOS app that enables users to learn Swift, the programming language for iOS and OS X. Like Lrn, it's designed as a series of bite-sized lessons journalists can finish whenever they have a free moment, whether that's during their commute to and from work or during a lunch break.
Update: This piece was last updated on 31 May 2016 by Catalina Albeanu. What tools are you using to improve your coding skills? Tweet us your recommendations at @journalismnews.
Free daily newsletter
- Tool for journalists: InterviewJS, for turning interviews into interactive chats
- App for journalists: Vlogit, for producing eye-catching social videos
- App for journalists: Adobe Spark Video, for creating social videos on the go
- Tip: Check out these data and interactive journalism resources from NICAR 2018
- 5 iOS apps for creative mobile storytelling