# Teaching

My goal as an educator is to make computing, quantitative reasoning, and data science accessible to **all** students. I approach this goal through actively inclusive teaching practices and evidence-based pedagogy. My courses often involve include flipped classrooms, project-based learning, structured group work, writing assignments, and alternative grading.

## Courses at Middlebury

**Spring 2024**

**Winter 2024**

**Fall 2023**

**Spring 2023**

**Fall 2022**

## Courses at UCLA

The pages below contain lecture notes and other resources for previous courses that I taught at UCLA. You may find these sites useful, but please note that they are no longer maintained.

**PIC 16A**:**Python with Applications I.**A flipped-classroom, team-based course focusing on Python basics and technical computing. Special emphasis on data science, machine learning, and algorithmic bias.**PIC 16B**:**Python with Applications II.**A project-based course in advanced technical computing and data science with Python. Topics include data analysis and acquisition; numerical programming; machine learning via TensorFlow; natural language processing; and network science.**MATH 168**:**Introduction to Networks**. An upper division course in the mathematics of network science. Topics including measuring networks, random graph models, data science with graph data, and dynamical systems on networks.