Let’s not. Future readers aren’t coming to this thread
OK, thanks everyone. This is making me feel better about not getting that class. So, just for context, the school has its own curriculum and doesn’t do AP or IB and this is the second of three possible CS classes (he placed out of the intro class with a test).
By graduation, he should have 4 years of English, a foreign language, 4 years of science with physics and chem, 4 years of math inc. calculus, 3 years of history/social studies, as well as school requirements around service and art. He’s currently been given a math class in lieu of the CS but it’s an extra class on top of the ones he’d need to get in a year of math and progress towards calculus. He is spreading out the third year of history so it’s 1/2 in junior and 1/2 in senior year which is what gave him this open slot.
Perhaps it makes sense to try to shift this extra math class to history instead, so he gets three years completed by the end of junior year and, as recommended above, he just does CS outside school. I looked at a lot of common data sets, and three years of history seemed fine, event at highly selective schools, which is why he had initially chosen an elective over history.
What is the subject of the math class?
What level of foreign language will he complete, and what is the topic of the extra math course?
@OP, in S24’s high school, students join different academies for electives such as Engineering, Biomedical, CS. Only student in CS academy allow to take to AP CS courses. Most students in Engineering Academies never take AP CS courses. They only do programming in software engineering portion of Engineering Principle class. Yet, most of the Engineering Academy kids got accepted to great Engineering schools such as UIUC, Purdue, UCs, CPSLO, uDub and etc. Good Luck.
Like others have said, he doesn’t need to take a CS class for admissions purposes, so you don’t have to worry about that. A focus on the fundamental subjects (especially math and physics) at an advanced level is best.
However, if he’s not sure of his interest in CS, he might like to explore that before he starts applying to majors. But he can do that in ways other than taking CS through his HS.
When he was in HS, my kid was contemplating his interest in CS. He’d built hardware and learned some coding through hobby projects. But he wanted to explore more before applying to colleges, so he did 2 things:
- a 2-week engineering summer camp, where he chose a CS project
- took an online CS course via our local community college. Would have preferred in-person except it was during the pandemic.
His friends who took CS at his HS said it was terrible, and it didn’t fit in his schedule anyway, which is why he took CS through the CC. The CC course was great and he learned a ton. He didn’t receive or even expect to receive useful college credit for it which was fine because that’s not why he did it.
Altogether, these experiences taught him that he likes coding etc, but doesn’t want it to be his main focus. So he eliminated CS and computer/software engineering from his list of possible majors. Though he’s a chemical engineering major, in a funny twist, his summer internships have had him doing far more coding than anything else (turns out it’s very useful).
So, no need to do anything formal, but more informal exploration of CS is optional and may be useful for your son (or not).
https://cs10.org may be useful for this purpose.
Another option:
I prefer this site: CS50x 2025 and when he finished that, https://usaco.guide/
Personally I don’t think there’s any hard in trying for a formal course.
4 year of a foreign language, the math is ‘analytic geometry’.
Wouldn’t analytic geometry normally be part of trigonometry / precalculus and calculus courses?
I think it’s a standalone honors class that goes into a lot more depth on it. Definitely not part of the required sequence to get to calculus. I don’t know, the school does some odd things around math.
My kid did AP Calc (there weren’t two kinds back then) as a freshman and said it was pretty useless. He learned most of what he knew about programming by reading books (both stuff like Java for Dummies and more theoretical things.) He took some of the open courseware that MIT offered. So few high schools offer any CS that I think many end up teaching themselves programming.