Data structures & algorithms for interviews, contests, and school. We build a plan together: weekly sessions, homework that names its problem, and progress you can point at. Inside that plan, every session starts from your actual stuck moment, and everything we draw, solve, and track stays somewhere you can revisit.
It drives itself until you click. Then every control is real: this is the lab's actual stage, not a video of one.
Real past contest problems rebuilt as things you push on: drag the input, watch the algorithm answer back, then replay the intended solution a step at a time. A library of 20 labs, handed over one at a time after you've had your go.
We both draw at once. 17 figure generators turn one line of input into an editable drawing, and the drawing carries runners: step a sort through the array, flood BFS layers across the graph, pop the heap, animated on the board itself.
Homework hangs off the session it came from, with a status and a note on how it went. Contest results sit problem by problem; LeetCode solves sync in. Parents see the same dashboard, plus a printable weekly report.
Mock interviews in a safe environment with immediate feedback, tailored data-structures & algorithms refreshers, and the interpersonal and strategic skills interviewers actually score.
Competitive programming from Bronze toward Gold: advanced problem solving, fundamental data structures, algorithmic complexity, and competition skills, with interactive labs for the problems we go deep on.
Supplement your AP Computer Science A or Data Structures & Algorithms course: identify knowledge gaps and fill them in, learn by interacting with the material, and get ahead.
Success is exciting. Naming the process behind it is what lets you replicate it next time.
Most "mistakes" are good ideas misapplied. We rewind to the good idea, find its limits, and rebuild from there.
Many of us learn by poking the material: shared whiteboards, playable problem labs, and the full power of a real IDE.
Pace, homework, even the framing. Reframing a topic into your domain of interest is often very motivating.
I love two things about one-on-one teaching: finding where someone is genuinely stuck and resolving it in the way that fits their learning style, then celebrating the success and stretching it further. I bring three careers' worth of practice to that:
14 years as a professional software engineer, including 8 years at Microsoft on the Visual Studio team building its C# editing experiences, plus years of interviewing candidates and mentoring newer developers.
ACM regional competitor; created and coached a university competitive programming team for 7 years; problem author for the Baldwin-Wallace HS contest; created and judged ICPC ECNA regional problems for 63 colleges.
Math & CS tutor at my university's Learning Center, teaching assistant for a Java data structures & algorithms course, technical mentor, and one-on-one programming tutor.