Data Visualization

Quantitative Methods in the Social Sciences (QMSS)  
Graduate School of Arts and Sciences (GSAS)  
Columbia University

Course Details

Course: QMSS G4063 Spring 2015
Lecture: MW 1:10pm-2:25pm at 313 Fayerweather
Office Hours: W 2:30pm-3:30pm at IAB 270C

Instructor

Elliot Cohen, Ph.D.
Lecturer in the Department of Statistics
Columbia University

Course Description

This course offers a rigorous introduction to data visualization from theory to implementation. Drawing on a combination of lectures, readings, discussions and coding, we will translate the timeless concepts of Minard, Playfair, Tufte and Wilkinson to new and diverse fields of study. Students will receive a coding crash-course in R, JavaScript, CSS, HTML and D3. The goal is not to become computer scientists, but to build the requisite foundation for modern implementation of exploratory and explanatory data visualizations. Students will have the opportunity to work in small teams to create interactive data visualizations worthy of their portfolios. The final deliverable will be a research-driven data visualization with accompanying prose in the form of a conference paper submission. A working knowledge of R from at least one previous class is highly recommended.

Deliverables

Required Reading

Learning Objectives

... and resources to help you get there

Get Started Now!

Submit Assignments

Your assignments will be submitted as pull requests to the class repository on github! Suppose you saved changes on your own gh-pages branch and would like to submit a ‘clean’ pull request with only your files and the commits you want. This is pretty easy.

Option 1: Basic way with file checkouts (losing history):

git checkout upstream/gh-pages #you will be on a ‘detached HEAD’  
git checkout -b hw1 #checkout a new branch called 'hw1'  
git checkout <branch> <folder/filename> #pluck a folder/file from another branch but stay on the current branch (in this case 'hw1').  
git add <folder/filename>
git commit -m "add only the right files on new clean branch"
git push -u hw1 #push commits to a new branch called hw1.

Your new hw1 branch now has a copy of the folder/file(s) your plucked from elsewhere. Your working tree is still on the 'hw1' branch and you can continue to work on the files and commit+push further changes as frequently as you like.

Option 2: Advanced way with Rebase (history re-written)

Rebasing rewrites history of a branch, in a really clever way. Each commit becomes a new commit, on top of a new beginning point. This is probably the most common way of making a clean pull request.

git checkout gh-pages
git checkout -b hw1
git fetch upstream
git rebase -i origin/gh-pages

At this point you’re given a list, where you can pick, squash, or remove commits from your branch. Remember, a branch is just a collection of commits. If, for example, you only want to include the last few commits, simply delete all the others and allow rebase to continue. You should now have a branch that contains only the commits you want.