Encouraging kids to learn CS?

My son started with drag-and-drop programming 2nd grade. He used GameMaker then, but Scratch would be a good on-ramp for younger ages now.

We figured programming would be a good outlet for him, because it didn’t put him ahead in any subjects taught in elementary or middle school. Otherwise, he would have pushed even farther ahead in math. So, programming was mainly a way to slow him down in math.

In 6th-8th, he took 3 online Python and Java classes and ended up taking the AP CompSci test in 8th. The program he used, since the OP asked about programs, was Art of Problem Solving. They mostly offer math courses. Previously they offered Python and Java, but now they offer only 2 Python courses. Python is an excellent teaching language.

So, that left him with no real comp sci classes to take in high school. He did a lot of hacking and cryptography with friends at the school who are/were similarly (or more) advanced. As far as “education programs” in HS, he’s done mostly competitions like USACO, his own projects, and teaching/tutoring other kids.

So, he has lots of CS projects and languages on his resume, but mostly none on his transcript (other than engineering and Discrete Math). For senior year, he’s trying to get permission from a local professor to take a junior level college course.