[ Updated January 5, 2018 ]
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.
“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)
“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)
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: 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 2018
“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
JOU 4364 | Spring 2018 | Section 2F03
Class meets Tuesday 11:45 a.m.–2:45 p.m. (periods 5, 6 and 7)
Location: 2056 Weimer Hall (second floor, Atrium)
These books will not be needed until Feb. 1, 2018. Please wait to buy them.
- Web Scraping with Python: Collecting Data from the Modern Web, by Ryan Mitchell (O’Reilly, 2015) — there might be a new, 2nd edition of this in January
- Automate the Boring Stuff with Python: Practical Programming for Total Beginners, by Al Sweigart (No Starch Press, 2015) — my new fave for beginners in Python
- Possible third book — read below
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.
If we use the new edition, you CANNOT use the old edition. Many things in the code will be different.
It’s possible that I will ask you to buy a third book, Flask Web Development, 2nd edition. The book is due to be published in February 2018, but sometimes publication dates slip and the book is not available until much later. In 2016 we used the first edition of this book. The author intends to publish a set of blog posts in December and January that will be roughly equivalent to the book. When I get a look at those, I might decide we don’t need the book.