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 goal for you, as a teacher myself, is that you don’t just follow what I say but have your own insights, so that you can work yourself out of confusion […]

Tips for the AP Computer Science FRQs

(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 Computer Science test is an interesting challenge that asks you for a mix of memorized knowledge and creative application of that knowledge. The problems will look familiar, but in their […]

Guide to Studying Computer Science


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 these ideas for free. It’s my sincere hope that you benefit whether you choose to hire me or not. You’re faced with a difficult question and you have no […]

Code with greater ease


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 to make mistakes and to feel confusion. With the ideas I will present here, you can make the experience of coding “smoother,” with fewer starts and stops and more ways […]

The wisdom of tiny steps


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 accomplish through large, effortful leaps will feel hard. Conversely, any job you do in a series of tiny steps will feel easy. What does this mean for coding? When you […]

Programming is problem solving


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 initially have very little idea where the solution will come from. A simple way to look at this is that there are two kinds of problems. In one kind, you […]