Teaching & Mentoring

My teaching and mentoring philosophy centers on three principles:

  1. Instruction must be broadly accessible while still centering marginalized students and voices
  2. Iteration and feedback are key to intellectual development
  3. Students must understand concepts and tools in the context of their own experiences and goals to develop their own approach to seeking and communicating knowledge.

I define student progress as moving the student closer to achieving their own practical goals. I provide useful tool for to help students think about technology in their own lives, in their own work, and in the context of their own specific plans for the future. 

I enjoy and have experience working with both undergraduate and graduate students, and I am well equipped to teach courses in Human Centered Computing (HCC), Human Computer Interaction (HCI), Social Computing, Internet and Society, Qualitative/Online Research Methods, Gender and Technology, and Computer-Mediated Communication (CMC). Additionally, the interdisciplinary nature of my training and experience mentoring students across fields have prepared me to teach a range of cross-listed and/or team taught topics courses.


I have been fortunate to directly mentor 20 undergraduate students in my time as a graduate student and postdoctoral researcher, and have increasingly assisted my advisers in mentoring graduate student researchers as well. I also had the privilege of running my grad school lab’s Research Experience for Undergraduates program for three years. My students often come from marginalized groups, and I encourage them to embrace their identity as a tool in research. I am primarily a member-researcher myself, and I train my students in that tradition, encouraging them to use their local knowledge of culture and identity to identify problems others with less context might miss. 

My students are full participants in the research process. To enable this, I run a grounded theory boot camp for new students each summer, where new students learn how to use a core qualitative method in the context of online community spaces, and immediately apply it to active research. By deeply engaging with an inductive method which requires close, critical attention to real-life circumstances, students not only contribute to real research, but also gain the skill to apply this kind of critical eye to other circumstances which can help them further their goals.


I have been teaching at the university level since 2013, and designing my own courses since 2014. I have taught and assisted with courses at both George Washington University and Northwestern University, in subject areas including social computing, communication, human computer interaction, media studies, and science journalism. I have also designed and taught my own courses on research writing, qualitative methods, technology and society, and science communication. Across these teaching opportunities, I have developed an approach based around extensive feedback, learning from peers, and responsiveness.

I employ a writing- and project-based approach to assessment, enabling students to choose specific project topics that relate to their own interests and goals. It also allows time and space to iterate on their ideas, learn from their mistakes, and incorporate feedback from peers and the instructional team. This ability to iterate and improve is core to my approach.

In addition to assisting others in teaching, I have extensive experience designing and teaching my own courses, both at an introductory and advanced seminar level:

Human/Algorithm Interaction Seminar

At Northwestern, I designed and now taught a discussion and writing seminar class targeted at upper-division undergraduates. In it, we pursue the dual objectives of better understanding the role of and effects of complex algorithmically-driven systems on our lives and society, and improving student understanding of and skill at scientific writing. A syllabus is available here, and the course description from our catalog is below:

Algorithms, or, more broadly, systems driven by computational actors, are everywhere, and right now we’re all trying to figure out just how much influence they do (and should) have over our lives. It seems like a new question, but it can also be seen as an extension of a debate that’s been raging about computers specifically since the 1950s and technology in general since a very dangerous external memory technology known as “writing” debuted. The latest iteration of this debate involves all computerized decision making and content recommendation systems, from Facebook’s News Feed to search engine results that determine what is or is not “true” for a large portion of the world. We’re in a synthesis with these computational actors, for better or worse, and understanding them is a huge step towards understanding the modern world on a deeper level. This course is a tour through the three-way interplay between algorithmically-driven systems, individual human experience and values, and large-scale social structures. We will start broad and philosophical, then take a deep dive to highlight direct impacts on daily life and dispel some of the key myths that surround these technological interlocutors. Along the way, in keeping with the mission of the junior writing seminar, we will deconstruct key articles the literature to identify what makes “good academic writing.” This will culminate in your own 20-page research proposal. We will take the explicit position that there is, in fact, no such thing as “good writing” – only low-fidelity drafting, an openness to feedback, and a passion for editing. As such, our focus will be on getting ideas on paper, and then helping each other iterate and turn these ideas into a solid written foundation for scientific inquiry through workshopping and in-depth feedback.

Computing Everywhere

Computing Everywhere is a five-week workshop program at Northwestern designed to expose Communication Studies students to computational concepts, taught by a diverse slate of graduate instructors. In addition to being part of the team that created Computing Everywhere, I taught several workshops in the series, including Algorithms Everywhere and Algorithms, Categories, and Design: The Case of Dating, Gender, and Sexual Orientation.

Algorithmic decision making systems are pervasive in business and culture, and have a general reputation as bias-free, even-handed decision makers. However, all algorithms have embedded biases, and these biases have real-world consequences. It is not impossible to identify and mitigate algorithmic bias. This workshop is an introduction to algorithmic bias, where it comes from, how to identify it, and how solutions to these problems will take cooperation and understanding between those charged with engineering the systems and those with the knowledge of culture, society, law, and ethics. Communication Studies students should be able to leave this workshop with enough general understanding of the concepts and jargon used with algorithms as well as their cultural and social impact to feel confident that they can successfully collaborate with software engineers to mitigate biases or even go on to learn how to engineer these systems themselves.

– Algorithms Everywhere workshop description

From computer vision systems that misgender by design to dating apps which provide a wide range of sexual orientation and gender options but, ultimately, still require one to choose if they would like to be searchable in a male-like or female-like way, sexual orientation and gender have proven particularly difficult to classify in a way that satisfies practical design needs while respecting identity. Culturally, both these concepts are a) still evolving and b) evolving in ways that often defy classification, or at least require increased dimensionality. This workshop aims to give students a basic introduction to the problems of classifying socially-relevant personal data in a way that algorithmic systems can understand. This includes an overview of the current state of gender and sexual orientation classification, an introduction to the types of data algorithmic systems can use (illustrating tradeoffs between computational efficiency and cultural fidelity), practical exercises in algorithmic decision-making, and peer critique. All of this instruction will be filtered through the lens of dating apps, a salient context for most undergraduate students.

– Algorithms, Categories, and Design: The Case of Dating, Gender, and Sexual Orientation workshop description