AP Computer Science A
For most students, this is the first class where the computer doesn’t care what they meant.
Java doesn’t care if you’re close. A program can be 95% right and still fail completely — and then the exam asks your student to reason through and write code in Bluebook, without a compiler to rescue them. Sometimes the programming really is the problem, and we work on the programming. Sometimes the code is fine and something underneath it is causing the trouble, like a fuzzy idea of what an object actually is, a loop pattern they’ve memorized rather than understood, or a misread of what the FRQ is asking. I don’t assume which one it is. I find out, and then we fix that.
A first programming course and a college-level exam, at once
That combination catches a lot of capable students off guard:
- Thinking like a computer: Code does exactly what it says, not what your student meant. Learning to trace, step by step, what the machine will actually do is a genuinely new way of thinking — and one of the most important skills to master.
- Writing code from scratch: Understanding code someone else wrote and producing it yourself are two different skills — and it’s easy to mistake following along with code you’re reading for being able to write it.
- A tiny mistake can look like a disaster: One misplaced character can fill the screen with red. For a student seeing that for the first time, a small slip looks like a catastrophe — and learning to read those errors calmly and recognize that they’re usually caused by one little thing is half the battle.
- Hitting “Run” isn’t a verdict: When we debug, we’ll often drop in a print statement just to see what the program is doing — not to make it work. But the second errors appear, a lot of students deflate, because they’ve learned to treat “Run” as the moment they find out whether they’re right. Learning that running code is a way to investigate, not a pass/fail check, takes a surprising amount of effort.
- Objects and classes: The moment CSA goes from simple programs to objects, references, and
this, a lot of students start to fall behind — and because everything afterward leans on objects, there’s a serious domino effect. - Arrays, ArrayLists, and 2D arrays: Off-by-one errors, traversal logic, and nested loops are where confident students suddenly lose their confidence.
- Recursion: If there’s one concept that makes students feel like they’ll never be a “coder,” this is it. (They’re wrong. It’s very teachable.)
- The FRQs: The free-response questions are typed without a compiler to check your code and graded on a rubric. Knowing how to code and knowing how to earn the points are two different skills.
Many CSA students are also more or less teaching themselves, and when the class runs through programs like CodeHS or Code.org, it’s hard for students to assess their own understanding. They may think they’ve got it, but that usually doesn’t show through until they’ve talked through it with someone.
From first program to data structures
The College Board organizes AP CSA into four units:
Using Objects & Methods
Java fundamentals — variables, types, expressions, calling methods and the Math and String classes — plus the habit of tracing what the program actually does, line by line
Selection & Iteration
Boolean expressions, if/else decisions, and while and for loops — the building blocks of an algorithm
Class Creation
The big one: writing your own classes to model something real — objects, references, and this — the moment CSA gets abstract for a lot of students
Data Collections
Arrays, ArrayLists, and 2D arrays, the traversals that process them, and the searching, sorting, and recursion that go with it
CS is the subject where “just ask the AI” is most tempting… and most dangerous — because it’s the easiest place to get the answer while learning nothing, and the fastest way into an academic-integrity problem. AI can be a great learning tool when it’s used the right way. I teach students to use it as a tool that makes them stronger, instead of a crutch that makes them dependent.
There aren’t many tutors in the country who researched this exact course
- My doctoral research was on this exact course — approaches to how AP CSA is taught, and where students reliably come apart in it. The practical difference for your student: when they’re lost, I’m usually not guessing about where.
- Leadership in computer-science education, plus University of Florida programming instruction and a UF teacher CS-certification program I developed.
- Real assessment and curriculum work — I know what the graders are looking for.
- I don’t just teach this material — I build with it. I’ve shipped multiple apps to the iOS and Mac App Store (e.g., Sparked for iOS and SideDoor Tasks for Mac), so when I tell a student their code has to actually run, it’s coming from someone who ships working software, not only someone who grades it.
Dr. Hurley’s guidance helped me begin my journey as a programmer with confidence and I earned a 5 on the AP Computer Science exam. His personalized teaching style in Java was memorable, effective, and benefits me to this day as I develop Android apps for work.
TylerComputer ScienceColorado School of Mines · now a software engineer at PTx Trimble