teaching

materials for courses I have taught

Lafayette College

CS 110: Introduction to Computer Programming

Fall 2026

This course offers an introduction to computational thinking and programming, emphasizing problem-solving skills and foundational concepts in computer science. Students learn to design, write, and debug programs using the Python programming language. Topics include fundamental programming concepts such as variables, data types, control structures, functions, loops, and basic data structures like lists and dictionaries. Social issues with data, such as privacy and ethics, is also discussed. No prior programming experience is expected.

DS 201: Principles of Data Science

Fall 2026

This is a survey course that introduces the principles of data science. Specifically, it covers how to (i) collect and manage large sets of data, (ii) summarize and visualize data to convey information in a meaningful way, and (iii) implement basic machine learning models; all this while doing so in a thoughtful manner taking ethics and privacy into consideration.

Northeastern University

DS2500: Intermediate Programming with Data

Fall 2025

DS 2500 offers intermediate to advanced Python programming for data science. Covers object-oriented design patterns using Python, including encapsulation, composition, and inheritance. Advanced programming skills cover software architecture, recursion, profiling, unit testing and debugging, lineage and data provenance, using advanced integrated development environments, and software control systems. Uses case studies to survey key concepts in data science with an emphasis on machine-learning (classification, clustering, deep learning); data visualization; and natural language processing. Additional assigned readings survey topics in ethics, model bias, and data privacy pertinent to today’s big data world. Offers students an opportunity to prepare for more advanced courses in data science and to enable practical contributions to software development and data science projects in a commercial setting.

Course Syllabus | History Minute

CS4973/CS6983: Research in Human-Centered NLP

Spring 2025

This undergraduate and masters special topics course aims to provide a human-centered perspective toward modern language technologies and highlights research topics shared between Human-Computer Interactions (HCI) and Natural Language Processing (NLP). In this course, students will learn and apply research methods for designing and developing human-centered NLP applications and systems. As part of the course, we will read research papers at the intersection of NLP and HCI and practice critically evaluating them to identify future research directions. The course should help students gain the skills and confidence to pursue research at the intersection of HCI and NLP.

Course Syllabus | Labs & Resources

Teaching Assistant / Peer Tutor

  • CS3850: Introduction to CS Research | Fall 2024 | Northeastern University
  • Qaulity Assurance to Quality Engineer Program | Fall 2019 | Wayfair
  • MVC Framework Course | 2019-2020 | Wayfair
  • CS320: Tangible User Interfaces | Fall 2016 | Wellesley College
  • CS235: Languages and Automata | Fall 2016 | Wellesley College
  • CS231: Algorithms | Spring 2016 | Wellesley College
  • JPN101 and 102: Beginning Japanese | 2014-2015 | Wellesley College