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

code-2

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

HTML/CSS/JS in the wild

Coding in journalism

Designing story layouts, news apps

bayla

Scraping data from websites, PDFs, APIs (ScraperWiki, Document Cloud, IFTTT, Zapier)

 

ifttt

Analyzing data (Excel, R, Gephi)

 

network

Visualizing data, stories and multimedia (maps, graphs, quizzes, games)

 

losing

Improving internal workflow, encouraging collaboration

 

tarbell

 

Where to start

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.”