Skip to main content

Services / Computer Science

Computer Science

Python, Java, data structures, and AP Computer Science A. Debugging is a teachable skill, and it is almost always the one that is missing.

Debugging is the whole subject

Most students who say they’re bad at programming are describing one specific experience: the code doesn’t work, they don’t know why, and they have no next move. They change something at random, it still doesn’t work, and after twenty minutes of that they conclude they aren’t a computer person.

What’s actually missing is a procedure. Read the error message, all of it, out loud. Find the line. Form one guess about what’s true. Print something that tests the guess. Repeat. It’s unglamorous and it’s most of what professional programmers do all day, and almost nobody teaches it explicitly because instructors do it unconsciously.

My own code breaks constantly, and I say so in front of students on purpose. A student who has only seen working examples thinks broken code means they’ve failed. It doesn’t. Broken code is the default state of programming.

A student who has only seen working examples thinks broken code means they’ve failed. It doesn’t. Broken code is the default state of programming.

What I cover

First language

Python or Java

Variables and types, control flow, functions, collections, file handling, and the beginnings of program structure. Enough to write something that does a real job rather than something that passes an exercise.

Which language first matters less than people think. The second one takes about a tenth of the time.

AP CS A

Java

Classes and objects, inheritance and polymorphism, arrays and ArrayLists, 2D arrays, recursion, searching and sorting, and the free-response question types.

The exam rewards writing correct Java by hand on paper, which is a specific and slightly artificial skill worth practicing deliberately.

Data structures

Early university

Lists, stacks, queues, trees, hash tables, and graphs. Big-O reasoning, recursion, sorting and searching algorithms, and how to choose a structure based on what the problem does most often.

The course where CS stops being about syntax and starts being about tradeoffs. It’s also where a lot of students discover they like it.

How a session runs

An hour, at the student’s keyboard.

01

Look at what broke

Current assignment or project, whatever isn’t working. Real broken code beats a clean exercise, because the errors are ones the student actually produced.

02

The student drives

Their screen, their keyboard, their hands. I ask questions and resist taking over, which is harder than it sounds and matters more than anything else in the hour.

03

Something small to build

A short assignment, usually under thirty minutes, that uses the thing we just did in a slightly different shape.

Common questions

My child has never programmed. Is that a problem?

No, and starting from zero is often easier than starting from a year of half-formed habits. The main prerequisite is comfort with algebra, since variables and functions mean roughly what they mean in math.

What about AI tools like Copilot and ChatGPT?

They’re part of the job now and pretending otherwise would be strange advice from someone who uses them. But a student who reaches for one before they can read an error message never develops the thing the tool is supposed to accelerate. So: not while a concept is being built, deliberately afterwards.

Can you help with a personal project instead of coursework?

Yes, and it’s often the better option. A student building something they actually want tolerates far more difficulty than one working through a problem set, and the learning is the same or better.

The College Board’s AP Computer Science A course frames its aim as students analyzing, writing, and testing code, with testing named as an activity in its own right. The Bureau of Labor Statistics projects software developer employment to grow considerably faster than the average across occupations, which makes this worth learning properly rather than just passing.

Start with the call.

Fifteen minutes, free. See also math.

Get started →