CS at the lower levels should be programming and playing with computers. What else should it be? Analysis of algorithms? That sounds dreadfully boring for a high schooler
As a senior in high school, I have wanted the latter for most of my time here. I can program and fool around with computers on my own time (and more efficiently than in class). After taking (and being bored in) AP CS A freshman year, I have just dedicated more time to high level math classes instead.
I took AP CS freshman year (30+ years ago), spent the rest of high school learning UNIX, becoming a sysadmin, putzing around with computers. I did spend a summer taking the Berkeley course teaching SICP, but I regret it. I recommend saving that for when you’re a freshman. There will be plenty of time for the theory.
Bulking up on math in HS is smart. I took AP Calculus and then went to community college to take more calculus.
Pretty much. We had one lab period and couple of classroom periods in a week. We even wrote java on notebooks! Can't imagine writing java without IDE autocomplete these days, but "back then"(it was just 7 years ago) I was banging out JOptionPanes and JButton event handlers for a selection sort frontend with pen and paper perfect syntax, all the options memorized. Of course, the salary calculator as well (you enter the different components, it subtracts tax and tells you the answer - obviously a simplistic version)
Exams we would have to write code, or predict the results of code or spot bugs
My teacher was a bit of a dick and would sometimes intentionally leave out a brace. Therefore “does not compile” was sometimes a valid answer :-)