Teaching philosophy
My teaching emphasizes strong conceptual and technical foundations, active learning, critical and responsible computational thinking, and support for independent learning. Students work with real, often messy datasets and are encouraged to connect technical decisions to their social consequences.
The goal is not only to execute an algorithm, but to understand what it does, why it is appropriate, and what limitations shape its interpretation.
Courses
Modeling Natural Language · DSCI 690
Graduate NLP course emphasizing modern methods, evaluation, context, domain adaptation, responsible model use, and LLM limitations.
Syllabus ↗Social Media Data Analysis · INFO 440
Data acquisition, text analysis, network analysis, visualization, ethics, and interpretation of online behavior.
Syllabus ↗Foundations in Data Science
Doctoral-level foundations with perspectives and methods spanning multiple fields.
Syllabus ↗NLP Across Domains · INFO 873
Doctoral seminar connecting NLP with social computing, HCI, network analysis, and computational social science.
Syllabus ↗Computational Social Science · INFO 873
Doctoral seminar on interdisciplinary computational approaches to social phenomena.
Syllabus ↗Data Acquisition & Preprocessing · DSCI 511
Acquisition, preparation, cleaning, feature representation, and responsible preprocessing.
Syllabus ↗