What journalists need to know about code
Here at Northeastern’s School of Journalism, we’re a few weeks into our Media Innovation studio, the thumping heart of our Media Innovation program, where we expose our talented journalism graduate students to fields outside journalism–like game design, interactive documentary and computer science–and apply their lessons and best practices to journalism.
But before getting into the nitty gritty of Javascript libraries like D3 or game engines like Unity, we introduce our students to the wonders and applications of programming as they pertain to journalists. In other words, we do our own version of “What is Code?” and tailor it for reporters by offering an overview of 1) how the Internet works and 2) what programming can do for newsrooms.
View the presentation here (built with impress.js) or scroll down for the highlights. Feel free to share or improve upon!
Computer basics for journalists
What is hardware?
- Tangible
- Vacuum tube → Semiconductor → Transistor → Integrated Circuit → Microprocessor
- Disks, Keyboards, Screens, etc.
- Intel, Dell, Gateway, Acer
What is software?
- Intangible
- A program made of code, machine-readable instructions for specific operations
- MacOS, Windows, Microsoft Excel
What is a server?
- A computer with no monitor, for simplicity’s sake.
- An oracle: It answers questions if you know how to ask them. Deliver me my email. Deliver me a file. Build me a database and allow me to access it.
What is an API?
- Digital middleman
- A set of protocols to serve up data to a client
- Facebook, Twitter, Weather Channel, Google Maps
What does back-end mean?
- Data access layer
- a.k.a server-side, client does not interact with
- Patching into servers, databases.
- Built with languages like PHP, Ruby, Python
What does front-end mean?
- Presentation layer
- a.k.a. client-side, free of server-side code
- Built with languages like HTML, CSS, Javascript
What does full-stack mean?
- Knowledge of both back-end and front-end
What is HTML?
- Framework that websites are built on
- Markup language to structure website content
- The skeleton
What is CSS?
- Design, layout, style layer to present HTML
- The skin
What is Javascript?
- Dynamic page elements
- The muscles
Coding in journalism
Designing story layouts, news apps
Scraping data from websites, PDFs, APIs (ScraperWiki, Document Cloud, IFTTT, Zapier)
Analyzing data (Excel, R, Gephi)
Visualizing data, stories and multimedia (maps, graphs, quizzes, games)
Improving internal workflow, encouraging collaboration
Where to start
- Browser’s source code
- Developer’s Tools
- Codeacademy
- StackOverflow
- NICAR list, Chrys Wu’s NICAR slides, Storybench!
Workshop
Play with MIT’s Scratch
- Open with laptop, if doesn’t work, team up.
- Start with Event, use two or more Motion, one Sound, and one Control.
Updates:
Journalist-coder Miguel Esquirol would like to add that a server is “just another computer with programs installed that talk to your browser/computer.”