Instructor: Jeremy Rue, continuing lecturer
Time: Tuesdays 10 a.m. – 1 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 other types of projects students may conceive.
This course teaches students code literacy. Beyond the specific skills they learn, students will have a more well rounded understanding of a crucial technologies that influence the news industry in innumerable ways. They become better decision makers when working with technologists, and will help to forge the future of the journalism industry. This class covers prototypical object oriented programming, an important component in many web coding languages. Topics covered include variables, typecasting, arrays, for-loops, conditional statements, comparison operators, functions, enclosures and cross-domain data requesting. This course will also cover popular data libraries like D3 and Pandas.
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.
Only legitimate excused absences per California Education Code (CEC). UC Berkeley Guidelines for Academic Accommodations. Two unexcused absences will result in lowering a half-letter grade. Three 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: Wed from 10 a.m. – 1 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.
- Sep 3
- 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).
- Sep 10
- 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 13
- Sep 17
- Sep 24
- 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.
- Oct 1
- Oct 8
- Oct 15
- 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 22
- Oct 29
- 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 5
- Programming workflow (Mid-term Due) — This session will cover Node, NPM package installers, and explain the full development enviornment stack. We'll talk workflows like agile, and archivability.
- Nov 12
- APIs — This session will cover REST requests for querying web services for data. Then we will parse the data for a variety of purposes when building web app tools. Class will also include an in-class written test on parsing JSON.
- Nov 19
- Python (Jupyter) Notebooks — This session will cover an introduction to Python (Jupyter) notebooks for some simple data analysis, and how to use Python for scraping websites, wrangling data, and running various web apps relevant to journalism.
- Nov 26
- Guest Speaker — We will have a guest speaker join the class to talk about emerging trends in digital journalism, and some of the ethical issues journo web developers face in the newsroom.
- Dec 3
- Encryption — A basic understanding of encryption, hashing functions, checksums, integrity verification, and how such tools are being utilized in the journalism industry.
- Dec 10
- Final Assignment Review — We will go over the final assignment for the class, and workshop through issues you might have.
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.