Teaching
Teaching Statement
(The tags used in this teaching statement are drawn from the Professional Standards Framework for Teaching and Supporting Learning in Higher Education developed by Advance HE.)
Designing and Planning for Learning Activities
For most of the methods courses I have supported–POLSCI 630: Probability and Basic Regression, POLSCI 689L: Computational Methods in Social Sciences–I built the lab materials myself each week: annotated R scripts, handouts with worked examples, and/or slides [A1]. The sequence follows lecture, but I reorganize it around the steps students actually find hardest rather than the order in which the concepts appear in the syllabus [K2]. I write scripts with extensive explanatory comments as well as deliberate gaps for students to fill in instead of providing complete solutions [K4]. These choices came out of both observations on what works in previous courses and pedagogy workshops: active-learning structures, low-stakes checks for understanding, and stating plainly what an assignment is asking students to do [V3]. I also keep the pacing and design flexible: when informal mid-course comments showed that students found labs too fast and too full, making it difficult to digest, I cut the amount of material per session substantially, kept fewer core tasks, and built in pauses where students ran code themselves before I moved on [K3]. Later feedback and in-session engagement suggested the stripped-down version worked better than trying to cover everything [V2].
Teaching and Supporting Student Learning
My lab sections often have 15–20 graduate students and meet weekly to turn the week’s statistical concepts into practice [A2]. I leave time at the start of each session for questions and for re-explaining the points from lecture that generated the most confusion, since students cannot implement a method they are still unsure of [K1]. From there I work through a prepared slide deck and annotated script step by step, so students follow the reasoning behind each line rather than copying an answer [K2]. I write code live when a question calls for it, since a student’s real error can be a useful demonstration, and I leave time for students to run code themselves before I move on [V2]. I would then walk through a complete working example with data, so everyone leaves with a running version they can adapt on problem sets.
One course, an R bootcamp for incoming students, is taught in a flipped format: students prepare beforehand and spend class working problems while the instructor and I circulate. Diagnosing an error there means judging quickly whether someone is stuck on syntax, on the statistical idea underneath it, or on reading the error message. Rather than fixing the code, I ask what the object is supposed to contain, so that the debugging process is one they can repeat without me [A4].
Teaching experience
Lab Instructor
POLSCI 689L: Computational Methods in Social Sciences
Duke University — Fall 2026
Instructor: Jiawei Fu
POLSCI 630: Probability and Basic Regression
Duke University — Spring 2026 Instructor: Jiawei Fu
POLSCI 630: Probability and Basic Regression
Ralph Bunche Summer Institute 2025, 2026 Instructor: Dave Siegel, Stephanie Wright
POLSCI 731: Scope and Methods in Political Science
Duke University — Fall 2024
Instructor: Adriane Fresh
Teaching Assistant
POLSCI 748: Causal Inference
Duke University — Fall 2025
Instructor: Daniel Stegmueller
POLSCI 338: Political Economy of Southeast Asia
Duke University — Spring 2025
Instructor: Eddy Malesky
Computational Methods for Social Scientists
Duke University — Fall 2023–2026
Instructor: Nick Eubank
Certificates
- Certificate in College Teaching, Duke University — in progress
- Certificate in Teaching Politics, Duke University — 2025