This course is an introduction to programming concepts as they relate to the journalism industry. The goal of this course is to equip students with a foundational computational literacy to construct interactive online stories such as data visualizations, infographics, maps, multimedia packages, games or innumerable other types of projects students may conceive.
Grading will be made up of four areas:
|Quizzes, class assignments, attendance: ||33%
|Mid-term project: ||33%
|Final Project: ||34%
Quizzes and class assignments will be given on bCourses. The mid-term project is an interactive web feature built using tools and code learned in class (usually a D3 chart). The mid-term can be done with tutorial material, or materials from another class. The final project is a full web-page interactive news package feature showcasing a story. This can be done with tutorial material given from the professor, or preferably with real materials. Double-dipping with other classes is allowed. The final project ideas should be approved beforehand.
- Aug 29
Learning the Terminal — Class will learn about the command-line interface and how to navigate around the computer using the Terminal program. Also, a tutorial on Regular Expressions (RegEx).
- Sep 12
Workflow and Github — Class will cover the process and how to structure some basic programs based on the subjects covered in previous classes. Practical guidelines to keeping code clean, logical and well-commented. Introduction to GitHub for posting future assignments.
- Sep 19
- Sep 26
- Oct 3
Functions and Conditionals — Class will cover how to use functions to execute code blocks, send data to functions via arguments, return data from a function and how to use anonymous functions. Discuss how functions affect variable scope, and how to use encapsulation to avoid cluttering the global scope.
- Oct 10
Introduction to SVG and Illustrator — Class will explore the building blocks of Scalable Vector Graphics (SVG) and learn the basic elements. In class, we will manually build multiple some graphics.
- Oct 17
Introduction to D3 — Class will cover an introduction to D3 for manipulating the DOM. We will create SVGs from scratch, and then add data to create basic charts.
- Oct 24
Making Charts in D3 — Class will cover how to iterate through a dataset, like an array or object. We will then make some more charts with d3, such as a bubble chart, donut chart or bar chart.
- Oct 31
Animation in D3 — class will cover basic animation methods, parsing CSV data, and additional D3 methods.
- Nov 7
Mapping in D3 — This class will cover basic mapping concepts and how to create cartographic maps in D3.
- Nov 14
For Loops — Class will cover how to iterate through data using For Loops, and cover other syntax/operators that might still seem mysterious to people.
- Nov 21
APIs and scraping — Class will cover jQuery and AJAX requests for querying web services for JSON data. Then we will parse the data, and display elements in the DOM. Class will also include an in-class written test on parsing JSON.
- Nov 28
- Dec 5
Final Assignment — Instructions for turning in the final assignment for the class.