
Learn by teaching someone else
Whether you’re a beginning coder or an expert, you’ll often encounter confusion. Maybe you had a game plan and now things aren’t making sense. My
Thank you for taking the time to consider me as your tutor.
From a young age I loved computer science, and since college I’ve enjoyed teaching others anything I knew, whether it was computer science, construction of audio equipment, or playing trombone.
After getting my degree from Caltech in computer science, I worked in several industry jobs before landing at NASA in Pasadena as a programmer. I worked there for 16 years.
At NASA, I enjoyed teaching the scientists how to code in Python. I also programmed in Java, HTML/CSS, and the functional language Haskell.
I gradually got more and more private clients, both students in school and professionals. I discovered that teaching computer science was a natural fit for my technical knowledge and my interest in how people learn.
I now give computer science lessons full-time.
In my spare time I practice piano and compose music in classical and modern styles.
My computer science degree from Caltech is only part of what makes me a good teacher. I’ve been interested my whole life in teaching, in particular developing the soft skills of patience and the ability to see things from the perspective of a student.
Whether you’re a beginning coder or an expert, you’ll often encounter confusion. Maybe you had a game plan and now things aren’t making sense. My
(Also check out my guide to studying computer science. I mention some additional important things there.) The Free Response Question (FRQ) section of the AP
This is a guide for students studying computer science. It covers some of the ideas I teach to my students every day. Here, I’m giving
You can work through typical stumbling blocks with a greater sense of ease by using outside-the-box methods and “working smarter.” You can give yourself permission
Tiny steps are a key part of my teaching. Why do tiny steps make things easier? It works like this. Any job you try to
Problem solving: Dealing with the unknown The central challenge in coding is problem solving. By “problem solving,” I mean working through a problem when you