Teaching

Technical foundations, critical thinking, responsible AI, and real-world application across undergraduate, master’s, and doctoral courses.

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 ↗