Many teachers attempt only to place information into the minds of their students. But I look at the big picture: if you want to really learn, then you need three things from my lessons: to absorb the information, to connect the dots, and most important, to develop a real understanding.
It’s important that I allow you to develop that understanding through your own insights… and in the way that’s most comfortable to you.
I believe that you learn best when you’re not under stress and when you’re given bite-sized information that you can absorb easily. I set aside my perspective as an expert and focus on seeing things from your perspective.
My style of teaching has developed a lot from my early attempts to teach younger students at Caltech. In addition to my technical studies, I played trombone in the school bands, and wrote a short booklet called “You already know how to play trombone,” which described trombone techniques in terms of common actions. I continued that tradition to today by focusing on explaining complex things with simple metaphors.
In the 2000’s I worked at a NASA laboratory in Pasadena and part of my job was to teach programming to the rocket scientists. (Simple metaphors help rocket scientists, too!)
I also took a 500 hour training course in the application of mindfulness to learning. I find applications for mindful learning in computer science and in many places, even my study of music composition at Cal State University, Northridge.
Here are six important strategies I use when I’m teaching:
Helping you connect the dots before we progress to the next level.
Showing that a large goal can be reached by many small steps.
Avoiding unnecessary complexity.
Using your imagination to make ideas concrete and easier to remember.
Reinforcing the precise words you need to describe your code.
Asking you to solve problems through your own insights, whenever possible.