Students have the opportunity to engage in world-class research that has real-world impact. Undergraduate student research fellows are paid $19/hour*. Students must be enrolled full-time to participate and must be able to commit to research 8-10 hours per week.
*Students must attend orientation and submit an I-9 form to verify employment and receive payment. Students who cannot accept pay may be allowed to receive academic credit for this research.
Research Project Description:
This project is part of a broader research program studying the effects of education policy on student outcomes in Uganda. A 2006 government reform made chemistry, physics, and history compulsory for all lower secondary school students, with the goal of expanding Uganda's science and technology pipeline. Evaluating the full consequences of this policy requires linking students across multiple levels of the education system: from primary school through O-level and A-level examinations to university applications and labor market entry.
The research fellow will contribute to a critical data infrastructure project: digitizing national examination records from the Uganda National Examinations Board (UNEB). These records exist as scanned PDF documents covering all students who sat primary school examinations in Uganda, spanning multiple years with varying formats. Extracting and structuring this data will allow us to directly measure student scores from primary school performance, track the full education pipeline, and link individual students across levels of the system. This linked dataset will be the first of its kind for Uganda and will support multiple ongoing research projects on education policy, gender gaps in STEM, and economic development.
Primary Research Mentor: Tess Lallemant
Co-Research Mentor:
Eligibility and Requirements:
Stanford undergraduate students in good academic standing and enrolled full-time are eligible to apply. Co-term students must have undergraduate student status; if co-terms are in graduate billing status (after 12 quarters) they are ineligible to participate.
All majors are welcome!
Students Responsibilities:
Review and document the structure and format of UNEB primary school examination records across multiple years, noting format changes and inconsistencies.
Develop and implement a consistent data extraction schema that accommodates format variation across years.
Write and test code (Python or R) to extract student identifiers, school codes, subject grades, and other relevant variables from scanned PDF documents using OCR and pattern matching tools.
Clean and validate extracted data, cross-checking against known totals and summary statistics.
Document all extraction decisions, coding rules, and known data quality issues in a clear codebook.
Assist in linking extracted primary school records to existing O-level and university application datasets using student index numbers and school codes.
Flag and resolve edge cases such as missing grades, absent markers (X grades), and illegible entries.
Students qualifications:
Required: proficiency in Python or R, including experience with data cleaning and manipulation.
Required: strong attention to detail and comfort working with messy, inconsistent data.
Preferred: experience with PDF parsing, OCR tools (e.g. pytesseract, pdfplumber, Adobe Acrobat), or document digitization projects.
Time Commitment:
The time commitment is 8-10 hours per week (equivalent to a 3-unit course) each academic quarter. The expectation is that students will work the full academic year with their mentor (Autumn, Winter, and Spring quarters). Students planning on studying abroad may not be eligible.
To Apply:
Along with the application, applicants are asked to submit:
a cover letter
resume or CV
unofficial Stanford transcript (first quarter frosh do not need to submit transcripts for autumn quarter applications)