Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

JOUR479V / JOUR779V: Computational Journalism - Spring 2017

University of Maryland, College Park, College of Journalism
Mondays 10:00am - 12:45pm
Location: Knight Hall Room 2107

Instructor: Assistant Professor Dr. Nicholas Diakopoulos,,, @ndiakopoulos
Office Hours: Knight Hall Room 3207 from 4:30-5:30pm Wednesdays, or by appointment
Course Website:

Please refer to The University's Office of Undergraduate Studies for additional course-related university polices:

Course Description

This course explores the conceptualization and application of computational and data-driven approaches to journalism practice. Students will examine how computational techniques are changing journalistic data gathering, curation, sensemaking, presentation, dissemination, and analytics of content. Approaches to news automation, data mining, visual analytics, platform dissemination, algorithmic accountability, and ethics will be discussed and applied in journalistic scenarios. Assignments both critical and creative in nature, as well as an integrative final project will serve to underscore the concepts taught and provide practice in producing artifacts of computational journalism.

About the Instructor

Dr. Nicholas Diakopoulos is an Assistant Professor at the University of Maryland College of Journalism, with courtesy appointments in the College of Information Studies and Department of Computer Science. His research is in computational and data journalism with an emphasis on algorithmic accountability, narrative data visualization, and social computing in the news. He received his Ph.D. in Computer Science from the School of Interactive Computing at Georgia Tech where he co-founded the program in Computational Journalism. Before UMD he worked as a researcher at Columbia University, Rutgers University, and CUNY studying the intersections of information science, innovation, and journalism.

Communicating with the Instructor

Please review this article on email etiquette before emailing the instructor:

Learning Goals and Objectives

By the end of the course students should expect be able to:

  • Describe and evaluate opportunities that computational methods create for journalism across tasks such as data gathering, sensemaking, presentation, and dissemination.
  • Demonstrate a critical stance towards the use of algorithms and computing in the news media reflecting an ability to judge implications and limitations.
  • Design and implement computational and data journalism projects using acquired practical skills in data analysis and programming (e.g., debugging, code reuse, accessing documentation)


  • A university statistics course, or permission of the instructor
  • The Codecademy Python Course Link

Textbook and readings

  • There is no single textbook for the course. Readings will draw on a wide range of texts including books, articles, and research papers. Copyrighted readings may be linked to the syllabus and you may need to access the PDF via the library, or by following the link from a computer on campus (which will automatically authenticate and give you access). Since readings may be updated over the course of the semester please check the online schedule on a weekly basis in order to get that week’s readings.
  • A recommended text for the skills aspects of the course is: Python Data Science Handbook, by Jake VanderPlas which is freely available online Link

Other Resources

  • Computational Journalism Course @ Georgia Tech Current Class | Previous offerings
  • Computational Journalism Course @ Columbia Link
  • Computational Journalism Course @ Stanford Link
  • Symposium on Computation + Journalism 2015, 2016
  • Source Open News Link
  • Curated list of data science blogs Link

Attendance and punctuality

Attendance is required. It is important that you attend every class and arrive on time so that you can participate in discussion. Coming late or leaving early will be considered an absence. Please notify the professor in advance if you will be missing class for an excused reason (this could include personal issues or emergencies, illness (do NOT come to class sick), job interviews, religious observances, military obligations or other events that justify excused absences as per the university policies. Please inform the instructor of a planned absence using this form BEFORE class.

Religious Holidays

There will be no tests or major assignments scheduled on religious holidays identified by the university. If you expect to miss a class due to a religious holiday, please notify the professor in writing before the start of the second class.

Inclement weather

If the university closes due to foul weather (hurricanes, tornadoes, earthquakes, blizzards, ice) or other emergencies and class must be canceled, students will be advised of assignment adjustments by the instructor. We will use email to make these notifications. Please check the university's home page if in doubt about whether or not classes have been canceled on campus.

Academic integrity

Along with certain rights, students have the responsibility to behave honorably in an academic environment. Academic dishonesty, including cheating, fabrication, facilitating academic dishonesty and plagiarism, will not be tolerated. Adhering to a high ethical standard is of special importance in journalism, where reliability and credibility are the cornerstones of the field. Therefore, the college has adopted a “zero tolerance” policy on academic dishonesty. Any abridgment of academic integrity standards in a College of Journalism course will be referred to the university’s Student Honor Council (see and the college's deans. To insure this is understood, all students are asked to sign an academic integrity pledge at the beginning of the semester that will cover all assignments in this course. Students found to have violated the university's honor code may face sanctions, including a grade of XF for the course, suspension or expulsion from the university.

Collaboration Policy
  • You may always discuss the homework and projects with other students, but your work must be your own. This includes all writing and code that you produce in the course. Using other people's writing or code without attribution is plagiarism and will not be tolerated.
  • Homework problem sets will be particularly collaborative and pair programming as well as code hangouts in the Computational Journalism Lab will encourage collaboration. All code and writing must still be your own.
  • The final project will be collaborative and you will work jointly with your team to produce all code and writing.
  • All other assignments must be completed individually.

Students with Special Needs

Students with a specific disability (permanent or temporary, physical or learning) needing special accommodation during the semester should make an appointment to meet with the professor immediately after the first class. Students may be asked to provide the instructor accommodation forms given to them after testing by the Disability Support Service on campus, 301-405-0813

Assignments & Evaluation

All assignments and projects are due at the start of the class unless otherwise noted. Detailed instructions for each assignment and project will be provided as per the class schedule.

  • Homeworks and Assignments (45%)
    • 479V
      • Homeworks, 3% each and the best 4 of 5 homeworks will count towards the final grade for a total of 12%.
      • Assignments, 11% each (3 of them)
    • 779V
      • Homeworks, 2.5% each and the best 4 of 5 homeworks will count towards the final grade for a total of 10%.
      • Assignments, 9% each (3 of them)
      • Research Paper Presentation, 8%
  • Final Project Proposal (10%)
    • You will develop a final project that utilizes the knowledge you acquire throughout the semester to create a news bot. Your proposal will describe your concept, approach, and goals for the bot.
  • Final Project (25%)
    • Your final project should demonstrate that you have integrated the knowledge you acquire in this class and will be graded based on the project concept, execution, and presentation(s).
  • Class Participation (20%)
    • Students are expected to read and engage with the assigned texts, and to be prepared to discuss those texts critically. In class you will be assessed according to the insightfulness of contributions, critiques, and questions you raise during class discussion.
    • To show that you are prepared to discuss the assigned readings, you should prepare at least one question based on your reading and post it to the Wiki page.
Late Work Policy

Assignments will be marked down by one full letter grade for every 24 hours (or fraction thereof) that the assignment is late past the posted deadline. For example, an assignment that would normally receive an A- if submitted on time would receive a B- if it was submitted 1 day late. Assignments more than five days late will not be accepted. Work that is not turned in will receive zero points. In extreme cases (such as a death in the family, or severe illness), an extension may be granted, but students must communicate with the professor in advance of the deadline in these cases. Over the course of the semester you have one "slip" day. This day can be applied to any of the three primary assignments in the class (excluding the research paper presentation and final project) and allows you to hand in that assignment up to 24 hours late with no penalty. Use it wisely!


January 30 - Introduction to Computational Journalism

  • Lecture Slides Link

  • Take-home Tutorials

    • Python tutorial: "Variables, Strings, and Numbers" Link
    • Python tutorial: "Lists and Tuples" Link
    • Python tutorial: "Introducing Functions" Link
    • Python tutorial: "If Statements" Link
    • Python tutorial: "While loops and Input" Link
  • Homework

    • Problem Set 0 OUT Link
    • 779V ONLY: Research Paper Presentation. Link
  • Coding Circle: Wed. Feb. 1, 5:00-7:00pm in Knight 3207

    • We'll gather as a group and work on the week's homework (or problem set) together in a collaborative atmosphere. RSVP and there will be Pizza! RSVP here

February 6 - Computational and Data Journalism

  • Lecture Slides Link

  • Readings DUE:

    • Cohen, S., Hamilton, J.T. & Turner, F., 2011. Computational journalism. Communications of the ACM, 54(10), pp.66–71. Article (access on campus or via library to download PDF)
    • M. Coddington. Clarifying Journalism’s Quantitative Turn: A Typology for Evaluating Data Journalism, Computational Journalism, and Computer-Assisted Reporting. Digital Journalism, 3(3), 331–348. 2015. Article (access on campus or via library to download PDF)
    • N. Silver. What the Fox Knows. Five Thirty Eight. March, 2014. Article
    • A. Cairo. Data journalism needs to up its own standards. Nieman Lab. July, 2014. Article
    • P. Guo. Data Science Workflow: Overview and Challenges. CACM Blog. Oct. 2013. Article
  • Recommended Readings DUE:

    • C. Groskopf. The Quartz guide to bad data. Link
    • N. Diakopoulos. The Rhetoric of Data. July, 2013. Article
  • Take-home Tutorials

    • Markdown Basics Link
    • Python Data Science Handbook: Data Manipulation with Pandas. Link
    • DataQuest: Introduction to Pandas. Link
  • In-class Tutorial

    • Tutorial 1: Loading and Manipulating Data in Pandas Link
  • Homework

    • Problem Set 0 DUE
    • Problem Set 1 OUT Link
  • Coding Circle: Wed. Feb. 8, 4:30-7:00pm in Knight 3207

    • We'll gather as a group and work on the week's homework (or problem set) together in a collaborative atmosphere. RSVP and there will be Pizza! RSVP here

February 13 - Automated News Production

  • Lecture Slides Link

  • Readings DUE:

    • A. Graefe. Guide to Automated Journalism. Tow Center Report. Jan. 2016. PDF
    • C. LeCompte. Automation in the Newsroom. Nieman Reports. Sept, 2015. Article
    • A. Johri, S. Han, D. Mehta. Domain Specific Newsbots. Proc. Computation + Journalism Symposium. 2016. PDF
    • T. Lokot and N. Diakopoulos. News Bots: Automating News and Information Dissemination on Twitter. Digital Journalism. 2016. PDF
  • In-class Tutorial

    • Tutorial 2: Using APIs to Gather Data Link
  • Homework

    • Problem Set 1 DUE
    • Problem Set 2 OUT Link
    • Assignment 1 OUT: Automated News Writing Link
  • Coding Circle: Wed. Feb. 15, 4:30-7:00pm in Knight 3207

    • We'll gather as a group and work on the week's homework (or problem set) together in a collaborative atmosphere. RSVP and there will be Pizza! RSVP here

February 20 - Journalistic Data Mining

  • Lecture Slides Link

  • Readings DUE:

    • J. Stray. The Age of the Cyborg. Columbia Journalism Review. Fall / Winter 2016. Article
    • M. Magnusson, J. Finnas, L. Wallentin. Finding the news lead in the data haystack: Automated local data journalism using crime data. Proc. Computation + Journalism Symposium. 2016. PDF
    • A. Fitts. The new importance of ‘social listening’ tools. Columbia Journalism Review. July / August 2015. Article
    • R. Schwartz, M. Naaman, R. Teodoro. Editorial Algorithms: Using Social Media to Discover and Report Local News. Proc. International Conference on Web and Social Media. 2015. PDF
  • In-class Tutorial

    • Tutorial 3: Text Analysis with NLTK Link
  • Homework

    • Problem Set 2 DUE
    • Problem Set 3 OUT Link
  • Coding Circle: Tues. Feb. 21, 4:30-7:00pm in Knight 3207

    • NOTE: Hangout is on Tuesday this week.
    • We'll gather as a group and work on the week's homework (or problem set) together in a collaborative atmosphere. RSVP and there will be Pizza! RSVP here

February 27 - Visual Analytics of Documents and Texts

  • Lecture Slides Link

  • Readings DUE:

    • C. Felix, A. Vikram Pandey, E. Bertini, C. Ornstein and S. Klein. RevEx: Visual Investigative Journalism with A Million Healthcare Reviews. Symposium on Computation + Journalism. 2015. PDF | ProPublica Article
    • M Brehmer, S Ingram, J Stray, T Munzner. Overview: The design, adoption, and analysis of a visual document mining tool for investigative journalists. IEEE Transactions on Visualization and Computer Graphics, 20 (12), 2014. Article (access on campus or via library to download PDF)
  • In-class Tutorial

    • Tutorial 4: Basic Charting in Pandas Link
  • Homework

    • Problem Set 3 DUE
    • Problem Set 4 OUT Link
    • Assignment 1 DUE (Friday)
  • Coding Circle: Tuesday. Feb. 28, 4:30-7:00pm in Knight 3207

    • NOTE: Hangout is on Tuesday this week.
    • We'll gather as a group and work on the week's homework (or problem set) together in a collaborative atmosphere. RSVP and there will be Pizza! RSVP here

March 6 - Algorithmic Curation and Dissemination

  • Lecture Slides Link

  • Readings DUE:

    • E. Bozdag. Bias in algorithmic filtering and personalization. Ethics and Information Technology 15, 3 (2013), 209–227 PDF
    • E. Bakshy, S. Messing, L. Adamic. Exposure to ideologically diverse news and opinion on Facebook. Science 348(6239). 2015. PDF
    • M. Sifry. Facebook Wants You to Vote on Tuesday. Here's How It Messed With Your Feed in 2012. Mother Jones. Oct. 2014. Article
    • A. Spangher. Building the Next New York Times Recommendation Engine. NYT Open Blog. Aug. 2015 Article
    • E. Bell. Facebook is Eating the World. Columbia Journalism Review. March, 2016. Article
  • Homework

    • Problem Set 4 DUE
    • Assignment 2 OUT: Reproducible Data Analysis with Jupyter Link
  • Coding Circle: Wed. March 8, 4:30-7:00pm in Knight 3207

    • We'll gather as a group and work on the week's homework (or problem set) together in a collaborative atmosphere. RSVP and there will be Pizza! RSVP here

March 13 - Algorithmic Accountability Reporting

  • Lecture Slides Link

  • Readings DUE:

    • N. Diakopoulos. Algorithmic Accountability: Journalistic Investigation of Computational Power Structures. Digital Journalism. 2015. PDF
    • J. Valentino-Devries, J. Singer-Vine, A. Soltani. Websites Vary Prices, Deals Based on Users' Information. Wall Street Journal. Dec. 2012. PDF
    • J. Angwin, J. Larson, S. Mattu and L. Kirchner. Machine Bias. ProPublica. May, 2016. Article; and How we Analyzed the COMPAS Recidivism Algorithm. Article
  • Homework

    • Final Project Proposal OUT Link

March 20 - NO CLASS (Spring break)

March 27 - Ethics in Algorithmic Media

  • Lecture Slides Link

  • Readings DUE:

    • N. Diakopoulos and M. Koliska. Algorithmic Transparency in the News Media. Digital Journalism. 2016. PDF
    • A. Giorgi and C. Zhang. Peer Reviewing our Data Stories. Source. Oct, 2016. Article
    • E. Tandoc Jr. and R. Thomas. The Ethics of Web Analytics. Digital Journalism, 3:2, 243-258, 2015. Article (access on campus or via library to download PDF)
  • Homework

    • Assignment 2 DUE
    • Assignment 3 OUT: Transparency Critique Link

April 3 - Design and Innovation of Tools and Technologies

  • Lecture Slides Link

  • Special Guest Al Johri from the Washington Post will be speaking

  • Readings DUE:

    • N. Diakopoulos. Computational Journalism and the Emergence of News Platforms. The Routledge Companion to Digital Journalism Studies. Eds. Scott Eldridge II and Bob Franklin. June, 2016. PDF
    • N. Diakopoulos. Cultivating the Landscape of Innovation in Computational Journalism. Tow-Knight Center for Entrepreneurial Journalism. April, 2012. PDF
  • Homework

    • Final Project Proposal IN

April 10 - Simulation, Prediction, and Modeling

  • Lecture Slides Link

  • Readings DUE:

    • N. Silver. The Signal and the Noise. Penguin Books. 2012.
      • Chapter 4: For years you've been telling us that rain is green. PDF
      • Chapter 7: Role models. PDF
    • D. Lazar et al. The Parable of Google Flu: Traps in Big Data Analysis. Science Vol 343. March, 2014. PDF
    • I. Bogost, S. Ferrari, and B. Schweizer. Newsgames: Journalism at Play. 2010. Chapter 1: Newsgames. PDF
  • Homework

    • Assignment 3 DUE

April 17 - Research Paper Presentations & Project Checkin Meetings

April 24 - In Class Final Project Progress Report Presentations

May 1 - Research Paper Presentations & Project Checkin Meetings

May 8 - In Class Final Project Presentations


UMD Course on Computational Journalism



No releases published


No packages published