My approach to education & learning is grounded in the lovely examples of science as a collaborative practice that I experienced as a mathematics major at Harvey Mudd College. A former math professor of mine, Francis Su, puts it well in his piece “For Human Flourishing, Build Mathematical Virtues, Not Just Skills”. My overall view on the discipline of computer science—& thus how to approach it pedagogically—is similar to Randy Connolly’s in his Communications of the ACM article on “Why Computing Belongs Within the Social Sciences”. As Mayank Varia likes to say, "cryptography is a social science masquerading as mathematics"... Some courses that I would aspirationally love to teach include:
Pure Mathematics for Cryptography: Applied Abstract Algebra & Number Theory (upper-div undergrad/early grad)
Undergrad pre-reqs: Discrete Math, Abstract Algebra I
TCS Methodology: The Computational Lens & Algorithmic Thinking (upper-div undergrad/early grad)
Undergrad pre-reqs: Discrete Math, Algorithms
Public-Interest TCS Clinic: Bridging Theory & Practice for the Public Good (upper-div undergrad/grad)
Undergrad pre-reqs: Algorithms, 1 additional upper-div TCS course
Human-Centered Cryptography: Theoretical & Applied Cryptography in Societal Contexts (advanced undergrad/grad)
Pre-reqs: Grad Cryptography OR Undergrad Computer Security/Cryptography/Complexity Theory, Grad Computer Security/Complexity Theory
If the latter, preferably in 2 different of these areas, e.g. Undergrad Cryptography, Grad Computer Security OR Undergrad Computer Security, Grad Complexity Theory
Social Foundations of Mathematics for Computation literature seminar (grad)
Grad pre-reqs: Demonstrated interest in the humanities & interpretive social sciences
History & Sociology of Theory of Computation & Theoretical Computer Science research seminar (grad)
Grad pre-reqs: 1 upper-div TCS course
What Comes After Critique: Multidisciplinary Critique as a Generative Research Practice methodology seminar (grad)
Grad pre-reqs: 1 advanced humanities or interpretive social sciences course
If you know of any similar existing courses please let me know!
In Spring 2023, I was a Graduate Student Instructor for CS 170, the introductory undergrad Algorithms course at UC Berkeley.
In undergrad, I was a Grutor (grader and tutor) for the introductory undergrad Computability & Logic course as well as for the advanced topics undergrad Computability & Computational Complexity course at Harvey Mudd College.