• 2022-present: Lecturer in EECS at UC Berkeley
  • 2021–2022: MS in Electrical Engineering and Computer Science, UC Berkeley
  • 2017–2021: BA in Computer Science, BA in Data Science, UC Berkeley


If you have a question about one of the classes I’m teaching, please use the course emails instead. These are checked by me, the co-instructors, and head TAs, so you’ll get an answer more quickly if you use them.

  • CS 161: cs161-staff@
  • CS 188: cs188@
  • CS 61C: cs61c@

Personal email, only if it’s not related to the courses above: peyrin@

Note: peyrin@eecs. forwards to peyrin@ so emailing either one is equivalent.

(Add berkeley.edu to the end of each email)


Teaching ratings available here.

CS 161: Computer Security CS 61C: Machine Structures CS 188: Artificial Intelligence
Spring 2023 Co-instructor
(with Raluca Ada Popa)
(with Stuart Russell)
Fall 2022 Instructor Co-instructor
(with Igor Mordatch)
Summer 2022 Co-instructor
(with Fuzail Shakir)
(with Caroline Liu,
Justin Yokota)
Spring 2022 Head GSI
Fall 2021
Summer 2021 Co-instructor
(with Nicholas Ngai)
Spring 2021 Head UGSI
Fall 2020 Head UGSI
Summer 2020
(with Ryan Lehmkuhl)
Spring 2020 UGSI
Fall 2019 UGSI
Summer 2019 UGSI Tutor

UGSI (Undergraduate Student Instructor) and GSI (Graduate Student Instructor) are Berkeley-specific terms for TAs.

  • Spring 2019
    • EE 16B (Designing Information Devices and Systems II)
    • Reader (grading, writing lecture notes)
  • Fall 2018
    • EE 16A (Designing Information Devices and Systems I)
    • Lab assistant
  • Spring 2018
    • CS 61A (Structure and Interpretation of Computer Programs)
    • Academic intern (lab assistant, office hours)


Classes I didn’t officially teach, but unofficially helped with.

  • Spring 2023: CS 302 (Designing Computer Science Education)
  • Fall 2022 & Spring 2023: Codebreaking at Cal
  • Fall 2022 & Spring 2023: CS 61C (Machine Structures)
  • Spring 2022: CS 161 (Computer Security)


Sometimes I write about teaching-related things at CS 161’s pedagogy blog.