I’m in the middle of developing a new Computer Programming for Journalists course for the spring semester. I want to put some of my thoughts on this out there so that people who are smarter than I am can prod it a little, point out the holes, make suggestions, etc.
This is an exposure course. No one will come out of it a fully-fledged programmer. Students will dive into various programming “pools” — and to various depths. The goal is to give students enough understanding of the possibilities to allow them to work effectively, as journalists, with programmers; understand the possibilities that coding brings to journalism; and have a strong enough grasp on some basics, so they can at least modify code. If, in the process, some of them discover that in their journalistic heart of hearts they’d rather write code, they’ll have a pretty good idea about what they have to do next.
Here are my thoughts so far.
The course would have three sections. In the first, students would build a basic portfolio site using HTML and CSS, and then layer in JQuery, using and modifying available script packages. In the second, we’d use HTML, CSS and JQuery (or other libraries) to build an iPhone web app. In the third, we’d move onto using programming for data visualization, using a variety of scripting languages and tools.
That’s barebones. It would be a mostly a doing class, but there’d be some minor lecturing on programming concepts, strengths of various scripting and programming languages, available tools and frameworks, etc.
It sounds a little ambitious but doable, I think.
So, smarter folk: What do you think? What’s missing? What’s not needed? What seems reasonable and what seems unreasonable? Any and all comments are welcome.

I am also having the same problem, almost the same.
Thanks and I have read this post since I am trying to find a solution. Keep it up.
Cyrill from tubage cheminée
There are several platforms and services out there already that deal with all the nuts and bolts of programming. You can easily just setup a blog with wordpress (or dozens of other similar things) and start writing without a care in the world about the code.
I think more of a high level focus would be much more beneficial. Answering things like:
How does the web work?
What is the anatomy of a url?
How can I encrypt my work?
How can I send/receive work securely?
What are the pros and cons of other software tools/services out there?
Maybe go into a high level description of some of the major web frameworks if you want (.net, php zen, django, rails, etc).
my 2 cents
If the main intent of the course is to teach programming, then I highly, highly disagree with putting more than two days of a semester into studying HTML or CSS.
Even if we were to consider HTML and CSS “programming,” they are two skills that are not necessary to journalism unless you want to be a web designer for a newspaper. Spending two weeks on HTML/CSS is like spending two weeks of AP style. Hardly any non-copy-editor courses would do that, and the reason why is because you pick up AP style as you write stories.
And this is the same way with programming. If you create programs in JavaScript, you will pick up the HTML/CSS knowledge. More importantly, you will be learning it through logical context and practical use. Again, imagine learning AP style before having ever written or even read a news story. You could do it, but it would be tedious and pointless.
Even worse, the large focus on HTML/CSS would re-iterate the bias non-programmers have about programming, that it’s just a technical pursuit in which the main way to succeed is to memorize the syntax and its intricacies, which would be a huge detriment to their pursuit of learning programming, which is no more just plain memorization than learning how to speak and converse is a memorization of grammatical rules.
I’ve known a few people who have taken semester long HTML/CSS courses and none of them were able to produce designs that were more professional or functional than what you can get out of a WordPress install. But even worse, they had little idea of the logistics of publishing and maintaining a website, which is by far the bigger challenge if you ever hope to be a self-publishing journalist.
Learning straight programming, of course, doesn’t prepare you for everything but at the very least, it gives you a solid background in logical and procedural thinking with which you can easily deal with HTML/CSS. I never formally learned HTML or CSS, but the idea that data is tagged, or how raw code can represent what the end-user sees despite having little physical resemblance…knowing that made learning HTML/CSS as easy as printing out a cheat sheet.
Yes, you should cover HTML/CSS to a small degree, but this is what I would limit it to:
1) How web pages, no matter what they look like in the browser, are actually text files that describe the content
2) Go over the basic tags. Covering the anchor tag will teach two important things: how HTML attributes are used and how something can be written in code (the URL of a link) but not spelled out on the actual webpage
3) The concept of style separated from content, as illustrated through basic CSS.
And then just have them create a site on Blogger and how to load up Javascript inline and externally, and cover JS and JQuery from there. Use of JQuery will teach them more about tags, CSS selectors, and attributes…AND teach them programming.
Dan: Thanks. Great food for thought there, and it helps clarify my thinking.
thanks. It’s a great concept and one I will likely be taking advantage of.
You or your students might want to check out Hacks/Hackers and their Vancouver Meetup:
Hacks/Hackers is a rapidly expanding international grassroots journalism organization with dozens of chapters (and counting) and thousands of members across four continents (and counting). Our mission is to create a network of journalists (“hacks”) and technologists (“hackers”) who rethink the future of news and information.
What do we do?
Lots. Our mission is to spread knowledge. information and ideas. Local chapter activities currently include talks, hackathons and demo days (just to get to know each other). We are also known to throw awesome parties with great DJs. Based on demand, we are strategically trying to expand into offering courses such as coding for beginners, Google Fusion Tables and .js. If you have any ideas, please email us at organizers[at]hackshackers[dot]com
Alex:
Not so much a problem with RSS as very limited blogging. I’m hoping to get back to something more regular in the new year. Thanks for the suggestions. And I hope all goes well.
- Mark
And… Mark is back. Haven’t seen any of your articles in my RSS feed for a while now. A year, maybe. I guess it might have been a problem with your blog.
Anyway, as a former journalist and still a full-time blogger, I’d recommend the following:
- basic HTML (basic tags, no tables needed, all the head meta tags for SEO and stuff)
- styling – CSS for DIVs, best practices, when to use CSS IDs and when to use CSS classes and why
- design basics – using grids
- Photoshop basics – editing pictures, saving pictures for web
I don’t think jQuery is really necessary unless they’re going to work as front-end developers. Plus, using jQuery is easy, you just have to teach them how to embed the libraries and that’d be it. Everything else is pure styling.
Damn, I so wish I was born in the US :)