The Journalist’s Learn To Code Resource Guide
This is a list of resources you can use to begin to write your own programs, written with journalists in mind. I focus mostly on free resources that are available to anybody online, and resources useful to people starting from scratch. I will be adding to this over time. If you’d like to know about new additions, subscribe to this blog (or follow us on Tumblr). If you have additions or corrections, please leave a comment below. You can also follow me on Twitter, where I am @lisawilliams.
Learn-to-Program Resources
Javascript
Codecademy
Lifehacker Night School
Khan Academy Welcome to Computer Science
JQuery
JQueryFundamentals
30 Days to JQuery
Python
Learn Python The Hard Way
Invent Your Own Games With Python
Google’s Python Class
learnpython.org A site that lets you do exercises online, much like Codecademy, except for Python.
The Django Book – free e-book with tutorials to help you learn Django, a web framework for Python
A Byte of Python
Ruby
Codelearn.org
Hackety Hack
RubyMonk
Bastard’s Book of Ruby
Why’s Poignant Guide to Ruby
TryRuby.org A site that lets you do exercises online, much like Codecademy, except for Ruby.
RubyKoans - Online book with examples. Setup guides for Windows and Unix.
Learn to Program with Chris Pine
PHP
PHP For the Absolute Beginner
Erlang
Learn You Some Erlang For Great Good
Processing
Learning Processing
HTML5
HTML5 Rocks!
Tutorial Sites
NetTuts I love this tutorial site. Many good things here.
Tutorialzine Excellent video/text tutorials on a variety of web development topics.
The New Boston – Free educational video tutorials by Bucky Roberts.
CodePlayer – describes itself as “if you could look over the shoulder of a developer as she works” – lots of short video tutorials here.
Free Online Computer Science Courses
Intro to Computer Science, Harvard – videos of all lectures and notes are available for free online as part of the Open Courseware movement. Very engaging instructor.
EdX is Harvard’s new online education portal, which now has many courses. Stanford Engineering Everywhere offers full video of lectures of many computer science classes, along with downloadable study materials. Free.
Intro to Computer Science, MIT – Full video and course materials via MIT Open Courseware.
Google Code University “This site provides sample course content and tutorials for Computer Science (CS) students and educators on current computing technologies and paradigms.”
Lecturefox has computer science lectures and courses available for free online from many universities.
Programming Concepts, A Tutorial for Novice Programmers – CUNY.
Programming Literacy – A Comprehensive Introduction To Programming
Khan Academy says it wants to “make a world class education available to everyone for free.” They have many courses, from K-12 to college level courses, with video lectures, exercises, and more. Here are their computer science offerings.
Not (Always) Free, but Notable:
Udemy offers online computer programming classes. A small number are free, while many others hover between $79 and $99. Online course materials that go along with Zed Shaw’s Learn Python the Hard Way is only $29.
Udacity has a Computer Science 101 course that I’ve heard good things about.
Books
A Very Long List of Freely Available Programming Books
Zed Shaw’s Huge List of Free Programming Books
Hackershelf, community curated free e-books on technology
6 Free Javascript eBooks
Eloquent Javascript – Book freely available online; you can buy a print copy if you want one
Getting and Finding Answers
StackOverflow This is a Q&A site for programmers. You can actually post a code snippet here and say “Why doesn’t this work?” But be sure to search first to make sure your question hasn’t been answered! You’ll get snark if you don’t.
Meetups
I strongly recommend that you find a local group devoted to the programming language you choose to start learning in. If you are using books or online tutorials, at some point you will get stuck. If you don’t have anyone to help you, you will stay stuck. You can check Meetup.com for these. I was helped immensely by the members of the BostonPHP Meetup group.
Setting up a development environment on your computer
You will want to create a “development environment” on your computer. This replicates the web server you’ll eventually use to host your programs, and typically includes web server software, a database, and files and packages required by the programming language you intend to use.
There are several (free!) bundles for popular operating systems:
MAMP (MacOS, Apache, MySQL, PHP)
WAMP (Windows, Apache, MySQL, PHP)
When you download and install these, you have a small, live webserver on your laptop that you can load your programs onto and test.
For other programming languages, you may have to download and install things to make it work:
Ruby
Setting Up Ruby on Mac OSX (Expert level; looking for beginners’ guides suggestions)
Setting up Ruby on Windows
Python
Using Python on Mac OSX
Using Python on Windows (Expert level; looking for beginners’ guides suggestions)
Text Editors
You’ll need something to actually write your programs in. Programmers have extraordinarily strong opinions about these. Two popular editors, vi and EMACS, both run in the command line in Unix. I’ve restricted this list to graphical text editors. (Thanks to Greg Linch and Chrys Wu for additional suggestions of free, graphical text editors).
BBEdit This is what I use. Not free, but free trial.
TextMate MacOS editor. People I know have said good things about it. Not free, but free trial.
TextWrangler is the free “little sister” of BBEdit.
gEdit is a simple, lightweight text editor. Free and open source.
AmyEditor is an online, collaborative text editor (that is, you can edit code in the browser while another coder looks on from over the web). Free.
Version Control
A version control system stores your code safely and allows you to “roll back” your changes to a point in time before you screwed it up. You will want it.
Git is the version control system I use. Git is relatively new. SVN is probably the version control system in widest use today, and CVS is the old warhorse of version control.
Github for Mac – a graphical client that lets me see my “repositories” and check in code to Github, the popular online code-sharing site.
Github is a hosted version of Git (read: you don’t have to download and install Git). In addition to doing all the things you want a version control system to do, it stores your stuff in the cloud, AND you can browse and share code. Many news organizations, including the New York Times, The Chicago Tribune, and ProPublica have Github pages where you can view – and download! – their code. (Here’s where you can find my code on Github. Friend me when you get there.)
Bug Tracking
One happy day you’ll move your baby code onto the web and launch something…and then you’ll have to track bugs and new feature requests! To keep that from devolving into a pile of inscrutable email, use a bug tracker. It will let other members of your team make notes about bugs, or about new feature requests. You’ll end up with a neat, cleanly ordered list of requests which you can rank by priority.
16Bugs – This is what I use. It’s VERY simple, but I like that, and it also integrates with Basecamp. Free for single projects.
Programming resources for women
Girl Develop It
PyLadies and on Twitter: @pyladies
Web Start Women and on Twitter @webstartwomen
Codagogy
Programming resources for kids
Hackety Hack – teaches kids to program in Ruby. Good for former children, too.
Scratch – a programming language and environment developed for kids; designed to encourage kids to create games and animations.
LearnScratch.org has great video tutorials for Scratch, delivered in a very fetching French accent.
Snake Wrangling for Kids – Free downloadable e-book teaches programming in Python.
Python4Kids – tutorials for kids age 8 and up.
How to initiate kids – or anyone – in coding - great list of resources.
Intro to Scratch for Kids – Scratch is a visual programming environment created for kids. Lets them make games and animations to share online. It’s really great.
KidsRuby Have fun making games or hack your homework with Ruby
AgentSheets lets you create agent-based games via a drag and drop interface
Alice is a 3D programming environment aimed at kids who want to create games and animations
Hack the Future is a hackathon/self-guided hacking experience for people from the ages of 10 to 19
Programming Blogs
(I’ve only listed blogs here I actually personally read. Please do feel free to suggest more!)
Coding Horror
Scripting.com (Not always about programming, but always worth reading).
Newshacking blogs
With thanks to Matt Thompson’s excellent post on Poynter, “Show Your Work.”
John Keefe’s Things I’ve Learned
Derek Willis’ The Scoop
Brian Boyer’s Hacker Journalist
Michelle Minkoff’s blog
Jonathan Stray’s blog
Things I’ve Written about Learning to Program
This page is a list of ingredients – but a list of ingredients isn’t a recipe. If you’re looking for pointers on where to begin, read Learning to Code for the Web: Starting from Scratch. If you’re a journalist and you’re wondering why you should learn to code, or whether it’s practical for you to learn, read Learning to Program for Journalists: The Epic HOWTO. For this site’s most popular posts, check out our GreatestL nnnnnearning to code takes effort, and everybody has to answer the all-important “why bother?” question for themselves. Here’s mine: Code To Make a Point; Code To Make Change
- Posted 4 years ago
- 369 notes
- Permalink
- javascript
- learn to program
- learn to code
- programming
- coding
- ruby
- php
- python
- pyladies
codecolorcreate reblogged this from riverbellthemes
i-will-read-this reblogged this from lifeandcode
literatodiaries reblogged this from neonninja714
anumfalii786 reblogged this from neonninja714
anumfalii786 liked this
prozessdernamenfindung liked this
hellokittyy liked this
alleyavenuee liked this
crisssemm liked this
crisssemm reblogged this from neonninja714
neonninja714 reblogged this from lifeandcode
ilikefoodtoo liked this
kennedymedia reblogged this from onaissues and added:Excellent compilation of useful links.
lucasdegomez reblogged this from lifeandcode
bitchytimemachinebanana liked this
ihavesubtitlingonlife liked this
wilnix liked this
atomicallyconnected reblogged this from notsosuperalex
notsosuperalex reblogged this from lifeandcode
celeaki liked this
moniqemt liked this
jocicausa reblogged this from onaissues
fromrusholmewithlove liked this
rachelcstella reblogged this from onaissues
mbinboston liked this
reporter-arm liked this
from-my-windows liked this
einsiedler liked this
girlboss liked this
huminthesun reblogged this from onaissues
huminthesun liked this
relativejunkie liked this
mikesridingbikes liked this
onaissues reblogged this from lifeandcode
ananter liked this
crazysoulpatrol liked this
princehal9000 liked this
notable liked this
emblematik liked this
jagier liked this
thenewnewjournalism reblogged this from lifeandcode
jkcrystalpower reblogged this from lifeandcode
contextual-awareness liked this
haft liked this
egsysge liked this
anarchyagogo liked this
trenchcoatsandwhatnot liked this
paperbackrider liked this
lifeandcode reblogged this from lifeandcode- Show more notes




