I’m interested in how people learn. I admire engineering team cultures that promote teaching and learning.
I’ve taught across a range of experience, from beginners…
COMS 1202 - Methods and Problems in Computer Science (Summer 2021) - An introduction to computer science focused more on theory than programming, taught by Mark Santolucito.
COMS 1016 - Intro Computational Thinking & Data Science (Fall 2020) - Python for non-CS majors, taught by Adam Poliak.
EESC 3050 - Big Data with Python (Spring 2021) - Python for Environmental Science majors, taught by Brian Mailloux.
Girls Who Code’s 7-week Summer Immersion Program, introducing high schoolers to the programming world, ranging from web to robotics.
Teaching web development using Flatiron School’s free curriculum.
… to low level systems-specific:
COMS 3157 - Advanced Programming (Spring 2019, Fall 2019*, Spring 2020*, Fall 2020, Spring 2021) - Columbia’s systems programming course with a narrative, taught by Jae Woo Lee.
COMS 4118 - Operating Systems (Spring 2020, Spring 2021) - Operating Systems using Linux kernel development, taught by Jae Woo Lee.
CSEE 3827 - Fundamentals of Computer Systems (Summer 2020) - Binary logic, circuit design, instruction set architectures and assembly language, basic processor design. Taught by Stephen Edwards.
I served as Head TA for COMS 3157 in semesters marked with an asterisk (*) above, meaning I:
My pedagogical approach centers around finding consistent, shared spoken and visual language to express new concepts, then developing fluency in that language the same way we develop fluency in world languages. I spend significant time developing, refining, and practicing instructional language.
I’m interested in working on programming languages, tools and frameworks to make them more intuitive, usable and understandable to a diverse audience.