About this Course¶
Course Philosophy and Objectives¶
From the Stanford Bulletin
The widespread availability of public data provides a rich opportunity for those who can efficiently filter, interpret, and visualize information. Course develops necessary technical skills for data collection, analysis, and publication, including data mining and web visualization, with a focus on civic affairs and government accountability. Open to all majors and a range of technical skill levels. Involves tackling new tools and technical concepts in the pursuit of engaging, public-facing projects. (Graduate students enroll in 213). Prerequisite COMM 273D, CS 106A, or CS 106B.
COMM 213 is a course created by me (Dan Nguyen) as part of Stanford’s masters journalism program focus on computational and accountability journalism in 2014. Briefly described, it is a course that studies the use of computation in civic affairs (which includes journalism) by teaching and expecting students how to write programs with journalism/civic use-cases.
The language we use is Python 3.6, specifically the Anaconda distribution, and the kinds of things we learn to write include
The content of COMM 213 is informed from my professional experience as a print journalist and a news application developer, particularly at the Sacramento Bee and at ProPublica. For journalism, this includes the inspiration and civic concerns behind real-world computational journalism projects; for programming, the technical principles of the code and software engineering for those projects.
This class will be taught in a “flipped-course” style, with lots of reading and homework, and hands-on time in class.
Who should take COMM 213¶
While COMM 213 is listed with pre-requisites (e.g. COMM 273D, CS 106A), it is intended to be useful for anyone with a general education in literacy, math, and civics (i.e. high school graduation requirements), as well as the level of technical experience needed to take the Stanford introductory computer science course – CS 106 Programming Methodology:
So if you’re worried about how much previous experience you’ve had or your friend who, like, worked their way through high school by programming for Google or whatever, don’t worry about it because all you need to know in here is basically either how to turn a computer on or to recognize a computer that’s on if you were to walk up to it and it were already to be on, all right?
However, COMM 213 is not just a programming class, and so for students who already have a strong technical or programming background, you’ll learn about the intersection of computation in civics and journalism, such as the use of programming by journalists to uncover investigative stories, or how algorithms and data are not just Silicon Valley buzzwords, but the foundation of civic policy and life, from today’s prison sentencing and policing guidelines, to the very beginnings of American democracy. In short, I hope this class is as equally insightful and useful to programmers interested in real-world applications as it is to non-programmers who don’t know write a ‘hello, world’ program, nevermind its profound importance.