My experience includes teaching in private and charter school environments and in the corporate world.

In 2021–22, I taught data processing and visualization using Tableau and SQL to autistic employees and employee candidates at auticon US. This was entirely remote, via Microsoft Teams and Slack.

Before that, I spent over ten years teaching math and programming classes at the Kirby School in Santa Cruz, CA, a private school for grades six through twelve. I developed and taught over four programming and computer-science courses for the school.

Earlier still, I TA’d computer science classes at the University of California and taught dual-language classes at the Latino College Preparatory Academy in San Jose. Throughout this time, I’ve also tutored students in math, programming, and SAT prep.

Philosophy & principles of teaching

Every student must feel safe in the learning environment. When we are operating in a “4F” state — fight, flight, freeze, or fawn — we cannot learn well, and it can take us twenty minutes or more to come back to a state in which we can. Therefore, the learning environment and rules and procedures must provide a baseline assurance of safety for all parties.

Every student has agency and makes their own decisions about what work gets their attention and efforts. This is a reality of working with human beings. We work within the quirks and limitations of human attention, and present our teachings in ways that the students can receive. Graceful cooperation — founded on mutual respect and commitment to see each other as we really are — yields a healthier dynamic, and is more sustainable, than attempting to override human failings with a willful, hard, authoritarian approach.

When we teach, we must attend to what serves all our students. When we read math content standards, it’s easy to drown in tiny chunks of measurable skill and lose sight of the bigger picture, and we must keep big-picture goals in mind if we are to avoid losing students’ motivation. Therefore, in a high-school math setting I focus primarily on cultivating growth mindset and teaching students new ways of thinking, and secondarily on development of content skills. Starting from well-chosen problems — true problems, not exercises (though those have their place) — we can have fruitful discussions about how we think and what makes a solution good and where insight comes from. Using real problems also allows us to address the real transferable skills that will make a student successful in any future career:

Rules work best when simple, universally applicable, stated positively, and connected explicitly to their intended purposes.

Formative assessment must be woven into each class session.

Intrinsic motivation is better than extrinsic in the long run, since it’s self-sustaining.

There must be a plan and a schedule, and willingness to deviate from both.

My classroom design and layout must

These principles come from past teachers and from observing students at work. The teacher’s responsibility is to continue reflecting on, and refining, our practices and processes — and the principles we base them on.


“Not only is Jordan a professional in the Racket programming language, but his teaching style was also exceptional. For every session he was able to break down every question I had in such a clear and succinct way. Jordan had also prepared a lesson plan before each session that was designed to work through my weaknesses. He made what appeared to be a daunting course, both fun and engaging. Through his commitment to teaching I was able to catch up in my course.” — John, tutoring client (2022)

“Very patient tutor who is accessible to students of all levels. He is highly experienced in communicating and adapts very quickly to different needs. It is clear that he has a very strong theoretical foundation which he employs very effectively to explain and work through problems with students; most importantly, Jordan cares a lot about the quality of his teaching.” — Angela, tutoring client (2021)

“Jordan really makes you think about the problem. I tend to struggle on recursion and he forces you to think about the problem step by step. He focuses less on the actual code and instead guiding you on changing your approach so you can approach other problems. Also, he is extremely patient and really explains things step by step. I highly recommend him for those who need help in Scheme and DrRacket.” — Pavani, tutoring client (2021)

Work samples

On classroom management: This generic instructions sheet for substitute teachers covers my classroom routines; I supplemented it with specifics about whatever the students were studying in my absence.

On summative assessment: This holistic rubric covers the meanings of the letter grades in the courses I was teaching at the time. Each column gets one box circled, which we do on two copies: I fill out one, the student self-assesses on the other, and we conference to resolve discrepancies. The conferencing takes one class period and is done during students’ group or independent work.

One year, I surveyed the students in December about what their classmates did well. Afterwards, I made word clouds that show each student’s name in a size that reflects how often they were mentioned by others. These went up on the door to the room as positive recognition; students seemed delighted with them, and they reinforced the notion that there’s a variety of skills and dispositions that can make someone a good student and user of math.

This problem set was part of one year’s final exam in geometry, and allowed me to observe students’ discussion habits as well as their understanding of the semester’s geometry material.

Two posters that went on my geometry classroom walls for reference: one about the mathematical habits to practice in my class, and one with sentence frames that are useful for discussing problems.

Painting the walls of my geometry classroom:

Several basic constructions, a Piet Hein quotation, and the quadrilaterals.

Several basic constructions, a Piet Hein quotation, and the quadrilaterals.