I’m a rising senior CS major.
I went to a STEM magnet high school that offered lots of CS courses, which included (while I was there): Foundations Computer Science, Accelerated Foundations Computer Science, AP Computer Science A+Data Structures (the curriculum of the defunct AP CS AB exam; AP CS A+ for short), Artificial Intelligence 1 & 2, Parallel Computing 1 & 2, Computer Systems Research. They have since added Computer Vision 1 & 2, Mobile Application Development, Web Application Development, & Mobile & Web Application Development Research. All classes except Foundations and Accelerated have AP CS A+ as a prerequisite, and are semester classes (except research, which is year-long). All students are required to take either Foundations or Accelerated by their junior year, and we also do some programming in Freshman Tech (Mathematica, and microcontroller programming). I should also add that both Foundations and Accelerated are honors courses (and weighted as such) and all the courses that have AP CS A+ as a prerequisite are weighted the same as AP classes (they’re considered Post-AP).
I took Foundations Computer Science over the summer after my freshman year, and then was the Computer Systems Research class my senior year (we’re required to do a senior project, and this is what these classes are for). I actually did not take AP CS A+, but took the first CS course at a community college summer after junior year. My senior project was actually Mobile App Development (using Objective-C and SQL), but the Mobile & Web App lab was not formed until the year after I graduated.
In terms of curriculum, foundations and accelerated are both taught in Java, with accelerated also teaching Python. The courses are quite comprehensive and advanced compared to the intro curriculums at most high schools. Foundations covers: Classes and Objects, Inheritance and Methods, Algorithms & Polymorphism, Abstract Classes & Interfaces, Boolean Algebra, Binary and Hex manipulation and calculation, Static vs Instance, Animation, Event Driven Programming, GUI Formatting, I/O, additional GUI topics, Arrays and Files, Matrices, Sorting, String Parsing, and Recursion. Our final project was to make a game; my group’s game was rather advanced and was controlled by the mouse, had keyboard shortcuts, had a boss battle where the villain would follow you and you had to dodge, could be played at different speeds/levels, etc. Accelerated covers all that at a much faster pace and also covers Assembly & Machine Language, Statistical Libraries, and more advanced GUI/control programming (making games that follow the mouse and use trig to calculate position and motion). Neither course goes over linked lists, as that is a data structures topic, and is covered in AP CS A+.