About this course

Updated January 2, 2019 ]

In this course, students learn how to:

  • Use SQL (Structured Query Language) to create databases and read/write data for use in applications for media audiences.
  • Scrape websites to collect public data (such as government data for an informed electorate) that can be stored, analyzed and reused, as is typically done in media organizations.
  • Write programs in Python.
  • Create server-side Web apps using Flask, a Python framework.
  • Solve problems in setting up and using command-line tools to support innovative storytelling.

The prerequisite for this course is Introduction to Web Apps, which is offered only in the fall semester.

This course adds server-side (back-end) Web skills to the client-side (front-end) Web skills students have developed in the preceding course, with the goal of developing Web apps that include a server-side component to support presentations of stories and large data sets for media organizations. Web scraping is also covered to enable journalists to gather open data from the Web for analysis and/or informing audiences.

This means you can save information generated from a Web page (you can require users to log in, for example); you can run scripts on the server that will affect what the user sees, among other things; you can read and write information from/to databases.

Web scraping

“With few exceptions, if you can view it in your browser, you can access it via a Python script. If you can access it in a script, you can store it in a database. And if you can store it in a database, you can do virtually anything with that data.” —Ryan Mitchell, Web Scraping with Python (one of our required books)

Why SQL?

“Employers favor back-end developers with experience in PHP, Python, and SQL. PHP is a server-side scripting language which powers giants like Facebook and Wikipedia, as well as any website built with WordPress or Drupal (hence its popularity with employers). Python is a general-purpose programming language prioritizing, clean, efficient, readable code, and SQL is a special-purpose programming language used to manage databases.” —5 Web Developer Job Descriptions & Skills They Require (March 2015)

Why Python?

Many people would recommend that you learn both Python and PHP. Here’s my view: You are communication majors, and our semester is only 15 weeks long, so I had to choose. I’ve written PHP, especially when altering WordPress templates, and it’s not too hard. Python also is not hard, and Python is like a Swiss Army knife — you can do so many things with it! You already have some JavaScript coming into this course. Learning Python will reinforce all your skills with variables, loops, if-statements and functions, and you’ll love its cleaner, simpler syntax.

Python also has a lot of great libraries you can add with a simple download. One of these is BeautifulSoup, which we will use for scraping.

Instructor information

Instructor: Mindy McAdams, Professor, Department of Journalism
E-mail: See this page for my UF e-mail address
Office: 3049 Weimer Hall
Office hours: Wednesday 1–3 p.m. in 3049 Weimer | And by appointment | Spring 2019
“By appointment” just means let me know when you want to come and see me, and I’ll let you know if I can’t be there. I’m often not in my office, so you’ll save a trip if you email me ahead of time.
Office phone: (352) 392-8456 (NOTE: E-mail is better. Much better.)
About me | My GitHub

Course information

JOU 4364 | Spring 2019 | Section 2F03 | Class number 16413

Class meets Tuesday 11:45 a.m.–2:45 p.m. (periods 5, 6 and 7)
Location: 2056 Weimer Hall (second floor, Atrium)

Required books

These books will not be needed until Feb. 1. You may wait to buy them.

  • Web Scraping with Python: Collecting More Data from the Modern Web, 2nd edition, by Ryan Mitchell (O’Reilly, 2018) — make sure you have the SECOND EDITION.
  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners, by Al Sweigart (No Starch Press, 2015) — my fave for beginners in Python.

You can find the books at Amazon, which likely has the lowest price. Note that the Sweigart book is available free online as web pages (not a PDF), so if you can live with that, you don’t need to buy it.