What they'll learn

1. Computer science classes, such as AP Computer Science

When I teach a computer science class, I will stick to the class’s curriculum, perhaps reviewing past topics, perhaps working ahead, as the student needs.

2. Extracurricular fun and study: challenge problems and algorithms

For extracurricular study, I give the student “challenge problems,” which are small, self-contained, and very engaging problems. These are a great way to introduce computer science, and they are the perfect size for the student to be motivated to hand-code the solution rather than use AI to code it.

An example: crack a cipher

For instance, a website like “Codewars” or “Advent of Code” might have a problem in which an encrypted message must be cracked. Another example of a challenge problem is: “compute the one millionth prime number.” A student must learn algorithms to do these things. An algorithm is a basic pattern in code, involving lists, loops, conditionals, and so forth. 

A chance to learn the intricacies of a computer language

Many students love these challenge problems and the chance to learn to write fast and efficient code.

They don’t focus on the kind of coding you need for apps or large projects, but they are right for students who want to dive into the intricacies of a computer language.

Challenge problems prepare for computer science classes

Challenge problems also prepare the student for high school or college computer science classes in a painless, enjoyable way.