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 appendedyearandsemestercolumns 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
Top 30 Popular Professors by Enrollment
- Grouped courses by professor, preserving both instructors when a course had co-teachers
- Summed
totalenrollmentfor each professor across all years and sorted in descending order - Exported as CSV and visualized in Datawrapper
Top 30 Most Popular Courses by Enrollment
- 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