MACS 30500 - Computing for the Social Sciences


Course Information Fall 2024


Meeting day and time: Mon & Wed, 3:30 - 5:20 PM

Meeting location: 1155 Building E. 60th St, Room 295

Teaching staff:

Office Hours:

  • Monday: Zach 1:00 - 2:30 PM (1155 Bldg, Room 226) by appointment and 2:30 - 3:00 PM drop-in (in-person, same location)
  • Tuesday: Sabrina 2:00 - 4:00 PM (1155 Bldg, Room 221A) by appointment
  • Wednesday: Zach 10:30 - 11:30 AM drop-in on Zoom
  • Thursday: Aidan 11:00 AM - 12:00 PM drop-in on Zoom
  • Friday: Aidan 10:30 AM - 12:00 PM (1155 Bldg, Room 222) by appointment and 12:00 to 12:30 PM drop-in on Zoom
  • After class: Sabrina drop-in for lecture or homework-related questions (~15 min)

Relevant Links:


Course Description

This is an 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 analyzing data and generating reproducible research through the use of the programming language R and version control software.

Topics include coding concepts (e.g., data structures, control structures, functions, etc.), data visualization, data wrangling and cleaning, exploratory data analysis, etc. Major emphasis is placed on a pragmatic understanding of core principles of programming and packaged implementations of methods.

Students will leave the course with basic computational and R skills. 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, methods, and data.


Course Objectives

By the end of the course, students will:

  • Construct and execute basic programs in R using programming techniques (e.g. loops, conditional statements, user-defined functions), and tidyverse packages
  • Search and use external libraries to expand on R base functions
  • Apply Git and GitHub workflows for version control using RStudio
  • Implement best practices for reproducible research
  • Understand approaches to debug programs for errors
  • Import data from files or the internet
  • Transform, visualize, and descriptively interpret data
  • Munge raw data into a tidy format
  • Scrape websites to collect data
  • Identify methods for manipulating strings

Note: MACS 30500 is cross-listed with CHDV 30511/ENST 20550/MACS 20500/MAPS 30500/PLSC 30235/PSYC 30510/SOCI 20278/SOCI 40176/SOSC 26032