< Sonja Johnson-Yu
I'm currently an instructor for Harvard's CS290 (Seminar on Effective Research Practices & Academic Culture) and very excited to help the incoming cohort of CS PhD students develop research skills and meta-skills.

During my time at Stanford, I spent five years teaching and improving CS education at Stanford by training and managing over 150 teaching assistants, lecturing the introductory course, writing new curricula in Python, and developing a companion class that is catered to educationally disadvantaged students. My contributions were recognized with Stanford’s university-wide Centennial Teaching Assistant Award in 2021. Below are some features of my educational experience:

Teaching for Everyone | I am especially proud of my work on a companion course (CS100A) for Stanford’s introductory CS class, which was catered to first-generation, educationally disadvantaged, and underrepresented students who want to pursue STEM. I developed the curriculum for this class and taught it for five quarters, supporting 133 students in total. I worked to not only reinforce the core material but also teach important academic skills and provide general support as a mentor (which was much needed for students isolated during an international pandemic). I created many materials to facilitate the expansion of the companion-course program to other computer science classes.

Scaling High-Quality Education | I care deeply about not only improving the quality of support for students but also improving the accessibility (and scalability) of computer science education. In Spring 2020, I participated in Stanford’s Code in Place, a shelter-in-place-inspired initiative that taught introductory computer science to students all over the world. I trained 15 TAs, and I wrote problems (e.g. using image processing to identify forest fires) that were solved by over 8,000 students.

Lecturing & Impactful Curriculum | During Summer 2019, I served as a lecturer for Stanford’s introductory computer science class, teaching 150 students. I worked with Chris Piech, Mehran Sahami, and Marty Stepp to develop new materials to facilitate the class’ transition from Java to Python. Many of the new materials were geared toward showcasing how computer science can be used for positive social impact, such as the assignment I developed that involved analyzing and visualizing historical pollution data in California. I have seen first-hand how many students develop a passion for CS (and STEM more broadly) when they discover its potential for positive impact.

Classes I've taught (reverse chronological):

Harvard University
CS290 (Seminar on Effective Research Practices & Academic Culture) - Fall 2023
CS288 (AI for Social Impact) - Fall 2022

Stanford University
CS100A ACE (Problem-solving Lab for CS106A)* - Winter 2020, Spring 2020, Fall 2020, Winter 2021, Spring 2021
CS109 (Probability) - Fall 2019
CS106AP (Programming Methodology)* - Summer 2019
CS198 (Section Leading Coordinator)* - Spring 2018, Fall 2018, Winter 2019, Spring 2019
CS198B (Additional Topics in Teaching Computer Science)* - Spring 2017
Music 19B (Intermediate Music Theory) - Spring 2017
CS106A (Programming Methodology) & CS106B (Programming Abstractions) - Fall 2016, Winter 2017, Spring 2017, Fall 2017, Winter 2018

* - lecturer or primary instructor