/advanced-data-journalism

Course materials for Mizzou advanced data journalism class

Primary LanguagePython

Advanced Data Journalism (J4432), Spring 2016

Welcome to J4432, Advanced Data Journalism, for the spring semester of 2016. You can find a syllabus and schedule on the course website. The rest of the course materials will live in this repository.

Software requirements

Below is a list of the key software you'll need for class, along with some resources offering tips about how to get it installed. You'll receive in-class help getting everything up and running during the first couple weeks.

Python

The main programming language we'll be using is Python. If you're using a Mac, you should already have it installed. If you're using a PC, you can install it using this self-installer.

Be sure you install Python 2.6 or 2.7, NOT Python 3.0

easy_install and pip

To make our lives easier, Python comes with two package management tools, which allow us to install new packages that extend Python's core functionality. You'll probably need some help getting these up and running, but here are some basic instructions:

On Windows: http://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows

On OSX: easy_install should already be included. To install pip, simply type sudo easy_install pip and enter your administrative password.

Virtualenv and virtualenvwrapper

To mitigate issues with permissions and operating system versions, I'd recommend you also install virtualenv and virtualenvwrapper (the latter should install the former). We'll talk a bit about this in class, but feel free to work ahead if you want.

Various Python packages

Once you install pip, you'll easily be able to install the various Python packages we'll use in class using the command pip install LIBRARY-NAME. If you're on a Mac, be aware that you may have to use the slightly different command sudo pip install LIBRARY-NAME, and then enter your system password, in order to install the software as a superuser.

Libraries we'll be using include:

  • BeautifulSoup for web scraping (pip install BeautifulSoup)
  • Mechanize, also for web scraping (pip install mechanize)
  • Flask for web development (pip install Flask)
  • Jupyter notebook for web development (pip install jupyter)

There will be others. You should use the setup time early in the semester to get comfortable with installing packages in genral, so you can continue to add them as the class requires.

Git and Github

Github is the most popular service most open source programmers use to store and share their code. We'll also be using it to turn in assignments. You'll need to both install git on your local machine and sign up for a free account on Github.

Instructions on getting started can be found here: https://help.github.com/articles/set-up-git

Tools that will make your lives easier

A good text editor and command-line terminal can make your life a whole lot easier. I'd recommend SublimeText 2 for your text editor, and (if you're on a Mac) iTerm2 for your terminal. You'll see me use both in class.

Contact information

E-mail is the best way of getting in touch with me. Unless things are crazy or I'm out of town, I'll usually respond within a day: chase.davis@nytimes.com