This content is from the fall 2016 version of this course. Please go here for the most recent version.
- Instructor: Benjamin Soltoff, Lecturer in Computational Social Science
- Teaching Assistant: Joshua Mausolf
- Meeting day/time: MW 1:30-2:50pm, Rosenwald Hall 405
- Online course discussion: GitHub discussion repo
- Open lab session: W 5-5:50pm, Saieh Hall of Economics 247
- Office hours: Th 2-4pm (Saieh Hall of Economics 249)
- TA office hours: Tu 1:30-2:50pm (Saieh Hall of Economics 248)
- Prerequisites: None
- Requirements: Bring your own laptop
Course Description
This is a for-credit, applied course for social scientists with little-to-no programming experience who wish to harness growing digital and computational resources. The focus of the course is on developing a computational framework which students can implement in their own research. Major emphasis is placed on a pragmatic understanding of programming languages and software libraries. Students will leave the course with basic computational skills in a wide variety of techniques and languages; while students will not become expert programmers, they will gain the knowledge of how to adapt and expand these skills as they are presented with new questions and data.
Course Objectives
By the end of the course, students will:
- Construct and execute basic programs in R and Python using elementary programming techniques (e.g. loops, conditional statements, user-defined functions)
- Apply stylistic principles of coding to generate reusable, interpretable code
- Debug programs for errors
- Identify and use external libraries to expand on base functions
- Generate reproducible research with R Markdown and Jupyter Notebooks
- Implement statistical analysis
- Visualize information and data using appropriate graphical techniques
- Import data from files or the internet
- Munge raw data into a tidy format
- Scrape websites to collect data for analysis
- Analyze networks
- Parse and analyze text documents
- Implement machine learning algorithms
- Connect to and obtain data from relational databases through local and API access
- Write programs which utilize parallel processing
- Create interactive web pages using Shiny
This work is licensed under the CC BY-NC 4.0 Creative Commons License.