Brown Daily Herald - Courses@Brown

python, jupyter, datawrapper

Background

As part of the Brown Daily Herald Data Desk, I contributed to a data journalism project analyzing a decade of course enrollment data at Brown University. Using Courses@Brown data spanning the 2016–17 to 2025–26 academic years, I built leaderboards of the most popular professors and courses by total student enrollment.

Data Setup

I built the analysis pipeline in Python using Jupyter Notebook (see code):

  • Created a unified data frame by adding each year and semester individually, with fields including CRN, course title, course code, professor names (prof1, prof2, morethan2profs), and manually appended year and semester columns based on the source file
  • Removed unnecessary fields and dropped non-lecture sections by keeping only sections starting with S (filtering out labs, discussions, etc.)

Some additional data manipulation and checking was done in CSV/Sheets: Google Drive folder

  • Grouped courses by professor, preserving both instructors when a course had co-teachers
  • Summed totalenrollment for each professor across all years and sorted in descending order
  • Exported as CSV and visualized in Datawrapper
  • Starting from the combined 2016–25 dataset, isolated course code and title
  • Totaled enrollment across all years per course and sorted in descending order
  • Exported as CSV and visualized in Datawrapper

Full Article: A look into the most popular courses at Brown

"A look into the most popular courses at Brown" — the Brown Daily Herald