MACS 30500 - Computing for the Social Sciences

Course Information

  • Meeting day/time: Monday & Wednesday 1:30-2:50 PM (Fall 2023)
  • Meeting location: 1155 Bldg, Room 295
  • Teaching Staff:
  • Office hours:
    • Monday: Mónica 9:30-11:30 AM (1155 Bldg, Room 222) by appointment
    • Tuesday: Ram 2:00-4:00 PM (1155 Bldg, Room 222) by appointment
    • Wednesday: Mónica 9:00-10:00 AM (“Ex Libris cafe", Regenstein library) drop-in
    • Thursday: Sabrina 8:45-10:45 AM (1155 Bldg, Room 221A) by appointment
    • Friday: Ram 2:00-3:00 PM (on Zoom) drop-in
    • A TA will be in class 30 minutes before each lecture

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
  • Identify and use external libraries to expand on R base functions
  • Apply Git and GitHub workflows for version control
  • 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 for analysis
  • Parse and analyze text documents

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

Upcoming Classes