I’m reading Dive Into Python which is excellent. Another great resource – Google’s Python class: http://code.google.com/edu/languages/google-python-class/ It’s got lecture videos, notes, and exercises from a 2-day intro course for Google employees. Best thing I’ve encountered to get started, hit the ground running. It was nice having someone show and tell on video. Before too long you’re scraping websites and using regular expressions. Then well-prepared to tackle more in-depth books.
What are the best resources for journalists without coding experience to get their feet wet?
What are the best resources for journalists without coding experience to get their feet wet?
Leave a Reply
You must be logged in to post a comment.
18 Answers
As a reporter who started learning code I cannot stress enough how important it was to have projects in mind. It's a way of getting your editors to give you time to learn something and allows you to slowly build up a series of projects.
I actually think that mapping is a great place to start. There's great documentation and support on the google APIs and for some people even that can be overwhelming. It's a great gateway into Javascript, CSS and later Open StreetMaps and other tools.
Leave a Reply
You must be logged in to post a comment.
Although I'm not convinced that journalists should jump into programming without a specific objective, another excellent place to start learning Python is Dive Into Python.
Leave a Reply
You must be logged in to post a comment.
I wrote a couple blog posts recently with a couple suggestions:
Both are aimed at learning Python and Django.
Leave a Reply
You must be logged in to post a comment.
My colleague Dan Nguyen wrote a pretty good primer on Web Scraping for journalists:
http://danwin.com/works/coding-for-journalists-101-a-four-part-series/
It'll help get your feet wet at least.
Leave a Reply
You must be logged in to post a comment.
As someone who has begun to dip his feet in, I've downloaded/bookmarked many of the free resources mentioned in this thread.
I've also become a big fan of SitePoint books, which can be very helpful. They come with code archives of everything in the examples. Something I mentioned earlier on another thread: anyone interested should check out their current 5-for-1 eBook deal.
Knowing no code until I started with HTML and CSS two years ago, I've found the structure and easy-to-follow nature of those books make them well worth the money. I've read about one-third of Simply JavaScript and almost half of the PHP/MySQL book (and I've re-read different parts a few times) -- supplemented with free resources, such as W3Schools.
I also recently started reading their jQuery book.
Leave a Reply
You must be logged in to post a comment.
Let's make sure the cart isn't before the horse here. In my opinion, no one doing web development (whether journalist or not) should be looking at Python or Javascript before they have a really solid handle on HTML and CSS. Those are foundational skills that will apply no matter what language/platform your site is based on. Here at the J-School we recommend O'Reilly's Head First Labs book as a great foundational book for HTML/CSS.
Leave a Reply
You must be logged in to post a comment.
The answer really depends on what you want to do. As we've see from the answers so far, "coding" covers a lot.
In addition to what's been mentioned already, if you want to get in the right headspace for development, "The Pragmatic Programmer" is a must-read. (Coding Horror has a quick summary of the book.)
If you want to try Ruby because you've heard of it and think it could be awesome, or because Aron took your lunch money, Try Ruby here.
Added: Sitepoint just started JavaScript Live, a 3-week online course for absolute beginners. Even though the class started Monday, April 26, I think registration remains open till this weekend. It might be worth looking into.
Leave a Reply
You must be logged in to post a comment.
Greg Linch mentioned W3Schools - it's such a great resource for learning HTML, CSS and plenty of other things. The "Try it yourself" editor is what puts it over the top as a learning tool. (I taught myself HTML back when Webmonkey was the place to go for tutorials, and it had the same feature.)
Being able to not just read the explanation, but also fire up an example to play with, is IMMENSELY valuable. And I really think you cut down the fear factor of learning something new when you can break it with impunity, just to see what happens.
A couple more useful tools with the same philsophy:
Leave a Reply
You must be logged in to post a comment.
I'm with Greg Linch - I've also found SitePoint books and W3Schools to be quite useful. The 5-for-1 eBook sale was too good to pass up.
SitePoint books cover a range of expertise. I'm using Build Your Own Web Site The Right Way Using HTML & CSS as a course textbook for a web site design class (beginning level), and the students are responding well to it. The O'Reilly's Head First Labs book looks intriguing - thanks Scott Hacker for that tip.
On a bit of a tangent, I've also found the SitePoint podcast to cover some good info.
Leave a Reply
You must be logged in to post a comment.
I'd echo Burt Herman's idea of getting a Wordpress installation and mess with a CMS. And I do think it's important for anyone who wants to put something up live to know their way around front-end technologies. To me, someone who knows how to code but not design (at least serviceably) is akin to being a great reporter but not a great writer.
To that end, if you're really starting from scratch and want to learn front-end, I'd go in roughly this order:
- HTML (W3Schools)
- CSS (W3Schools)
- Javascript (Thau's basic and advanced tutorials are still my favorites)
- JQuery (Use JQuery, but learn Javascript so you know what it's doing)
Lisa's point about using Google mapping as an intro to programming is a great idea as well, for the reasons she mentioned: pretty great documentation on API site, and you get a good foundation of how Javascript works. There's also two Google Maps API tutorials on my site (don't hate me!).
Leave a Reply
You must be logged in to post a comment.
I found the book, "Python for Software Design: How to Think Like a Computer Scientist" by Allen B. Downey to be a great overview that indeed gives you a feel for how computer scientists think -- delivering on the title's promise. It's also a gentle intro to the Python language:
Leave a Reply
You must be logged in to post a comment.
The book recommendations so far are great. A few other resources to pile on the list:
- How to Become a Hacker
- Teach Yourself Programming in 10 Years
- How To Ask Questions The Smart Way
- list-servs, IRC channels or other forums for your language of choice
- Open source code
- NICAR listserv
- Read up on Recipes for your language of choice
Leave a Reply
You must be logged in to post a comment.
If you want to learn Python you can try "A Byte of Python" : http://www.swaroopch.com/notes/Python
It is oriented toward beginners. Use the Python 3 version.
The Pragmatic Programmers have some introductory books as well: http://pragprog.com/
Their books are generally good though I haven't read any of the intro to programming books ( I strongly recommend "The Pragmatic Programmer" if you decide to continue in your studies though).
Then, if you think you will program as part of your job then find a college and take some introductory Computer Science classes. If you are lucky, you'll find some that use Python as the language of choice.
Going back to school sounds like a terrible suggestion, I admit. It's a bit heavy-handed if you will never program as part of your job. OTOH, if you want to put programming into your toolbox it is more efficient in the long run. The perspective you gain - that of an Engineer/Computer Scientist - will make your self-teaching more effective.
Avoid web development until you can comfortably write non-trivial programs and interact with the command-line comfortably. There are too many headaches that can distract from learning to program.
My opinion is based on my experience of being self-taught, then going back to school for CS. It is not intended as a troll. I have seen many a religious war over school vs. no-school. I don't wish to get into one. I am just advocating for the path I chose.
Leave a Reply
You must be logged in to post a comment.
- Codecademy: http://www.codecademy.com
- CodeYear: http://codeyear.com/: Make your New Year's resolution learning to code. Sign up on Code Year to get a new interactive programming lesson sent to you each week.
Leave a Reply
You must be logged in to post a comment.
I've collected some resources here. All of them are aimed at learning entirely from scratch: http://www.1rick.com/blog/learn-programming-from-scratch/
Leave a Reply
You must be logged in to post a comment.
I'd be interested to know what people would recommend as an introductory book for Javascript. I've been told, variously: 1. Headfirst - http://headfirstlabs.com/books/hfjs/ 2. Site Point - http://www.sitepoint.com/books/javascript1/ 3. O'Reilly def. guide - http://oreilly.com/catalog/9780596000486 I have basic proficiency in Ruby. Any advice gratefully received.
Leave a Reply
You must be logged in to post a comment.
Python is a great language to start with, but you need more that that. What you need ideally:
- A friend who is a programmer
- Some time
- A fun project to work towards
Sit down with your programmer friend and work through the programming basics (loops, variables, functions, libraries, etc.). For most people, this is a really boring part. Luckily it shouldn't take much more than 2 hours to get to know the basics.
Now it's time to pick a fun project (if you hadn't already done so). For journalists I can recommend scraperwiki.com to you. Pick a nice website that has interesting data (contact info for politicians, locations of crimes, etc.) and try to extract that data using scraperwiki.
If you have the raw data, you can now plot them on a map for example. If you have chosen a suitable project you can , for example, have a nice interactive map with all the crimes in you neighborhood within a few hours. And as a bonus you have learned quite a bit of programming skills.
Leave a Reply
You must be logged in to post a comment.
Love all the recommendations. Any recommendations for those of us who like to learn by watching screencasts? I know it might not make as much sense to watch a screencast for something completely text-based, but sometimes I find it easier to listen and work instead of going back and forth between a book/window and a text editor.
Any opinion on the lynda.com tutorials? I just started going through the nettuts Javascript from Null series.
Leave a Reply
You must be logged in to post a comment.
Your Answer
Please login to post questions.

I had a professor tell me once that 1 hour off the computer spent planning your project is worth 10 hours on the computer. Its good to have a clear picture of what you want, based on tools that are open, and easy to find examples for, help, and tutorials out there.
I totally agree with this. And if you’re on your own and looking for an idea. Why not build your own blog? If you’re into Python I’d recommend picking up James Bennett’s Practical Django Projects, which has a detailed walkthrough on how to make one. As much as I suck now, I’d be 10 times worse if it wasn’t for James, who writes English just well as he writes Python.
I totally agree with this. And if you’re on your own and looking for an idea. Why not build your own blog? If you’re into Python I’d recommend picking up James Bennett’s Practical Django Projects, which has a detailed walkthrough on how to make one. As much as I suck now, I’d be 10 times worse if it wasn’t for James, who writes English just well as he writes Python.
I have to disagree in part. It’s great if you already do have an objective in mind, but when I started coding it was helpful to keep things very basic and abstract at first, so I wasn’t freaking out if I didn’t know what I was going to do three steps from now.
Totally agree. Learn with an objective in mind, and always be focused on the journalism. Coding for the sake of it is nothing but a trip for biscuits.