Learn to code

Join the future of journalism

by Tyler Fisher / @tylrfishr

tylerjfisher.com/201-2

Hello!

My path

I wrote my first lines of code freshman year.

It was terrible.

Pressure to perform made me take coding seriously.

Pressure points

  • NBN Interactive Editor
  • Team-oriented class projects
  • Getting paid to program

Oh, the places you'll go!

  • Summer 2012: Chicago Tribune
  • Summer 2013: Gannett Digital
  • JR: NPR Visuals Team
  • Knight Lab Undergraduate Fellow
  • AP/Google Journalism and Technology Scholar
  • After graduation: NPR Visuals Team

Some things I've made

Why bother?

beanewsnerd.tumblr.com

Learning to code means being able to build your vision instead of hoping someone else does.

— Matt Waite, professor of journalism, University of Nebraska-Lincoln

Journalists should learn more about code. Understanding our medium makes us better storytellers.

— Miranda Mulligan, Director, Knight Lab

If you don’t know how to write software to help you acquire and analyze data, there will always be a limit to the size of stories you can get by yourself.

— Scott Klein, Senior Editor, ProPublica

[Coding] makes my workday much more efficient by eliminating repetitive tasks — or helping other people eliminate their repetitive tasks — so that they have more time to report, edit, write, and integrate social media into their workday.

— Melody Kramer, digital strategist, NPR

Because writing good code and cool apps is fun. But doing so with content that matters makes a difference to your community, no matter how big or small.

— Gina Boysun, news apps editor, Spokesman-Review

Reimagining the way we explain the news means reinventing newsroom technology.

— Ezra Klein, editor-in-chief, Vox.com

More than half of the job openings at the New York Times require knowledge of programming.

The most visited story for the New York Times in all of 2013 was a news application published on December 21st.

What does it mean to "embrace" the web?

All journalists must know how to code.

Discuss.

Nah. Probably not.

The two literacies: digital and data

Digital literacy

Mozilla has a great standard.

Exploring

Navigate and search effectively for credible content.

Exploring

Know how to keep your personal information safe.

Exploring

Understand how URLs and IP addresses work.

Building

Understand how a good web page is structured.

Building

Be able to put text and multimedia onto a web page.

Building

Comprehend the logic of code and know what is possible.

Building

Understand the full stack of the web, from server to client.

Whoa, stop right there. That sounds hard.

Client

A computer which makes requests.

Server

A computer which responds to requests.

The internet physically connects servers and clients.

Here are way more slides explaining that than I have time for.

Back to the literacy thing.

Connecting

Effectively share content and interact with your audience.

Connecting

Commit to open practices on the web and collaborate.

Connecting

Respect the privacy of others, especially your audience.

Recap

Digital literacy has three components:

  • Exploring: navigate and use the web well
  • Building: Understand the structure of the web and produce content for it
  • Connecting: Share your content and engage openly with others on the web.

Data literacy

No one has really defined this yet. I have some thoughts.

Basic math!

"Bad at math is a lie."

Basic math!

Journalists deal with populations. That makes the math easy.

  • Mean, median, mode
  • Percent change
  • Probability

Spreadsheets

Use them. Love them.

Scrapers

Get information off any web page programmatically.

Right now, this requires some coding.

We're working on making it easier.

Data cleaning

Understand a dataset's inaccuracies and account for them.

Recap

Data literacy is undefined, but here are some things to consider:

  • Basic math: Know the easy stuff.
  • Spreadsheets: Feel as comfortable in Excel as you do in Word.
  • Scrapers: Require some actual programming, but extremely powerful.
  • Data cleaning: Being able to account for data inaccuracies is an invaluable skill.

So, what now?

learn.knightlab.com

A self-guided curriculum for gaining digital literacy.

Keep going.

Tools for journalists

Timeline.js

StoryMap

Mapbox

Mozilla Popcorn Maker

Some advice

Tutorials will only get you so far.

Get involved

  • North by Northwestern Interactive
  • Knight Lab

Take classes

  • EECS 130: Tools and Technology of the Web
  • EECS 330: Human-Computer Interaction
  • JOUR 320: Interactive News
  • JOUR 390: Web Producing

Build things!

Ask questions!

Here is a great twitter list of people to ask.

Google!

If you're having a problem, someone else has already had it.

We all sucked once.

Here is the proof.

Things to remember

Programming is about solving problems.

The three virtues of a programmer

  • Laziness: I hate doing work.
  • Impatience: I hate waiting.
  • Hubris: I can do anything with a computer.

These slides were all programmed!


<section>
  <h2>These slides were all programmed!</h2>
</section>
					
Start small

Think big

Thank you

Good luck

Go 'Cats

tylerjfisher.com/201-2