Oh boy are things up in the air in the HS CS curriculum these days. While we have some great advice from the CSTA (CSTA K-12 Computer Science Standards) the implementation of those standards are still left up to individual schools/districts/states. Still it is easy to come to the conclusion from watching social media and some conferences that there is a consensus on a high school Computer Science curriculum. Today I got the following from a friend.
Is it an incorrect read or has a national consensus for CS in HS's been achieved with a sequence of :
--ECS (Exploring Computer Science) Curriculum
--CS Principles/BJC Curriculum (Beauty and Joy of Computing)
--AP CS (JAVA [for now])
As usual I have an opinion. My opinion is all my own of course. I think that consensus may be a strong word. There are a lot of people pushing that sequence but it is not gaining traction everywhere. A lot of places are lucky to do just ECS or similar. My school some a shortened custom version of ECS for freshmen and has an honors programming course (using C#) as a second course. Then we have APCS (JAVA) mostly for seniors. So we have two one semester courses plus the AP which is a year.
There is just no room in student schedules for three year long CS courses. Of course four years of religion are required and a) that takes up a lot of room in the schedule and b) that is NEVER going to go away at this Catholic school. Nor would I argue that it should as it is an important part of the school’s mission.
Anyway, a lot of schools will likely go to having ECS first and then either (but not both) of AP CS Principles or APCS A (Java). Again room in the schedule and shortage faculty to teach more courses. From what I can see a lot of schools will have just AP CS in one flavor or another.
Career/Technical schools on the other hand are usually some thing completely different from “academic” high schools. Few of them use the APCS exam for one though. For another they often have two to three year programs that look nothing like ECS, CS Principles and APCS A. These schools seem to be left out of the conversation a lot of the time. This is unfortunate as these schools send some students to university who are seriously impressive. Their school background tends to be deep and wide.
Few career/technical school students finish their time knowing only one or two programming languages for example. Three to four is much more common. Career/Tech students are also more likely to have experience with hardware, networking and system management as well. I’ve interviewed many of them over the years and there are many of them I give preference to in university admissions.
So have we (for some definition of “we”) agreed on a standard CS curriculum for high schools? Maybe if you only include schools with AP courses but clearly not if you include career/technical schools. And more generally high schools whose CS program is more focused on project based learning and less on standardized tests.
A related question is *should* we have a consensus curriculum. Let’s take that on a different time.