CPS 296.1 (Spring 2012):
Project in Computational Journalism

Course Information
FAQ for Prospective Students
Lecture Notes
Schedule and Readings
Sakai (Forum)

Can you just give me an elevator pitch?

Sure. Try this flyer.


Can you say more about the course project?

This course will be heavily project-driven. Not only will the project demand the bulk of the work required by the course, but it will also determine the relevant topics to be covered. Depending on the enrollment, the class will be divided into one or two project groups. At the beginning of the semester, we will quickly go over the basics, survey the landscape of computational journalism projects, and decide on projects of our own. There will be plenty of room to exercise your creative freedoms. Once our goal is set, the rest of the semester will be devoted to learning and researching relevant literature as well as designing and implementing our solution as a team. You will be put in charge of different components or aspects of the project.

Note that our goal is an end-to-end solution that can be put to real use at the end of the semester. Therefore, besides learning and developing concepts and techniques, we also need to implement and delpoy them in a "production" setting. Our tasks will thus include conducting user studies, evaluating ideas, designing interfaces, architecting and building software, writing technical and user documentation, administering development and deployment environments, getting the word out to potential users, etc. If you will, think of it as a mini-startup, except we are not in it for the money.


I am a CS student; what will I get out of this course?

Exactly what you will get out of this course depends on the project we choose to work on. However, it is safe to say that a good project on computational journalism will likely require learning and innovating in many fields of computer science research, such as algorithms, databases, machine learning, data mining, visualization, social computing, scalable cloud computing, etc. Think, for example, how you can help voters assess the truth in an political attack ad claiming that "Congressmen so and so voted together 90% of the time" using congressional voting records. Think, for another example, how you can help journalists or concerned citizens make sense of some newly released data on educational statistics about public schools, and turn these insights into stories. Possibilities for interesting computer science are endless.

In terms of practical skills, keep in mind our goal of building a production-quality solution with real users. We may need to, for example, deploy our system on Amazon Web Services, crowd-source some tasks to Mechanical Turk, or develop end-user Facebook or smartphone apps to attract more users. Not all of these skills can be acquired in a more traditional lecture-based class setting.


I am interested in computational journalism but I don't know how to program; what will I get out of this course?

As mentioned earlier, you must be willing and able to learn how to work effectively with others with more technical backgrounds. Perhaps you have some ideas for public interest journalism that can benefit from computing; e.g., "mining" publicly available data for certain stories, or educating the public using particular datasets. Or perhaps you know a great deal about designing interfaces and visuals. In either case, you will have the opportunity to work with a capable technical team that can help make your vision a reality. The team will rely heavily on your creativity, domain expertise, and/or better understanding of target users. Even if we end up doing a project that is not exactly your intial idea, you will gain the experience of working with an interdisciplinary team. The ability to work effectively in such a setting is a great asset; some of the best ideas come out of interdisciplinary collaboration these days.

It is not the focus of this course to teach you the basic computing skills for DIY investigative reporting (e.g., how to use tools like Excel and Access effectively). Instead, you learn to work in a team, leveraging and complementing each other's expertise. The whole project will likely require computing skills that are technically far more sophisticated. You will need to pick up many technical concepts and ideas, at least at a high level, in order to collaborate effectively.


Who are you?

I am an Associate Professor of Computer Science at Duke, broadly interested in research in databases and data-intensive systems. Thanks to my colleagues Profs. Sarah Cohen and Jay Hamilton at Duke's Sanford School of Public Policy, who introduced me to computational journalism, I have started working on exciting and practically important research problems in this area, with my other colleagues in computer science.


Where can I read more about computational journalism?

Last updated Wed Mar 14 20:29:53 EDT 2012