Instructor: Asst. Dean Jeremy Rue
Time: Thursdays 9:30 a.m. – 12 p.m.
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.
Every week, the course website will list free recommended readings. These are links to supplemental tutorials, articles, videos, or free e-books that will help you to better understand the material. Sometimes, others have come up with better methods of explaining arcane concepts, and I freely invite you to explore other material out on the web.
Simply notifying the instructor of an absence is welcome, but does not make it excused. Only legitimate excused absences per California Education Code (CEC). UC Berkeley Guidelines for Academic Accommodations. Three unexcused absences will result in lowering a half-letter grade. Four unexcused absences will lower you a full letter grade. If there are any more than four unexcused absences, the student must meet with the instructor or be in danger of failing the course.
Making up Missed Classes
As quoted by the UC Berkeley guidelines on absences:
Students are responsible for material covered during missed classes whether or not they have been formally excused; therefore it is the student’s responsibility to inform him/herself about the material missed....it is not the instructor’s or the GSI’s responsibility to tutor students in missed material. For this reason it is recommended that students absent from class for any reason make timely contact with several other students in the class to arrange for thorough briefing on the material they missed.
The instructor will make material available on the website as much as possible, and will attempt to help students to a reasonable extent. However, it is the ultimate responsibility for students to make-up missed work on their own.
Instructor Contact/Office Hours
(510) 643-1927 (office number, no texting)
Office in room B1 of North Gate Hall
Office hours: Monday/Friday from 2 p.m. – 4 p.m. Appointments are highly encouraged as there are dates when I might not be present.
Grading will be made up of four areas:
|Quizzes, class assignments, attendance:||33%|
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 23
- Learning the Terminal — This session will teach students how to use the command-line interface and navigate around the computer using the Terminal program. A brief lesson on bash scripting, and a tutorial on Regular Expressions (RegEx).
- Aug 30
- Workflow and Github — This session will cover the process of web programming, how to setup your work enviornment, keep track of changes, and publish your work. A large part of this course will center around Git, and using GitHub for posting future assignments.
- Sep 6
- Sep 13
- Sep 20
- Functions and Conditionals — This session 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.
- Sep 27
- Oct 4
- Oct 11
- Making Charts in D3 — This session will cover how to iterate through a dataset, like an array or object. We will then make some charts with D3 using this process.
- Oct 18
- Oct 25
- Mapping in D3 — This session will cover basic mapping concepts and how to create cartographic maps in D3. We will also study characteristics about mapping projections and geospacial coordinate systems.
- Nov 1
- For Loops (Mid-term Due) — This session will cover how to iterate through data using "for loops," and cover other syntax/operators that might still seem mysterious to people.
- Nov 8
- APIs, scraping, and OOP — This session will cover 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 15
- Nov 22
- Thanksgiving Break — No class
- Nov 29
- Encryption Fundamentals — A basic understanding of hashing and encryption.
- Dec 6
- Final Assignment — Instructions for turning in the final assignment for the class.
Academic Dishonesty and Plagiarism
Students will abide by the Student Code of Conduct. There is a zero-tolerance policy for work that is submitted without proper attribution and that constitutes plagiarism. If students are unsure about the expectations regarding the Student Code of Conduct, please seek advice from the instructors.
Digital and paper trails are crucial elements of accountability in journalism. Students are expected to record all interviews with a digital recorder or their smartphone and keep an archive of them for the duration of the term. Students must also keep all reporting notes and completed assignments organized & accessible in Google Docs for the duration of the term. Students should be prepared to provide notes and/or recordings to instructors, if asked.
Disabled Student Services
If you require an academic accommodations for this course, you must follow the intake and accommodation procedure to obtain a Letter of Accommodation. Please contact Extension Disabled Student Services (EXDSS) at firstname.lastname@example.org or (510) 643-5732. If you already have a Letter of Accommodation from Extension Disabled Student Services for this course, please make an appointment with me to have a confidential discussion of what you will require for this course.