Sunday, March 09, 2014

Have We Reached a Consensus on a National CS Curriculum?

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.


Ria G. said...

I am an avid reader of CS education material and I am not getting the message that there is a national curriculum. The three courses you listed offer training on a national scale, but individual schools and districts can choose to offer whichever they choose. It is important for schools to do what's best for their students. I'm certainly not jumping on the perceived bandwagon of these new courses and I know plenty of other people who have robust CS programs in their schools who aren't changing their courses anytime soon either. Having said all that, if these established programs don't have diversity or serve a significant number of the school population, then they should consider evaluating their choice of curriculum.

Mike Zamansky said...

I'm hoping we don't reach consensus, or rather national standards beyond course big idea guidelines. As Ria said school's should be able to do what's best for their students.

If this goes the way of other national standards, it could be more a straight jacket than a useful guide.

While it's great to have curricular resources, it all comes down to the teacher.

If we have great teachers that both know CS and how to educate, well, it's great to have lots of courses to chose from but one way or another we'll be ok.

If we don't have great teachers who know CS and how to educate, then it doesn't matter what curricular resources we have.

Getting and or creating the right teachers should be top priority.

Alfred C Thompson II said...

Ria, you are way more plugged in then that average CS educator. I think it is the people who are only moderately plugged in who are getting an impression that things are settled. And perhaps people who attend an occasional conference and are not plugged in beyond that. A lot of people don't have (make) the time to keep as involved as you and me.

Alfred C Thompson II said...

Mike, I'm with you on that. We don't need to be locked in to a limited standard. Getting enough of well trained teachers should be a higher priority than a national standard.

Garth said...

A national curriculum would seem to require a national teacher training program. I do not see it happening. Teaching someone else’s canned curriculum is not as easy as you would think. There is a lot of time involved getting the teacher beyond the level being taught in the curriculum. I do not see any effort at a national level to get teachers trained for these. APCS is not a program a freshly graduated BusEd graduate (remember, CS graduates do not go into education and BusEd is about the only other way of getting CS certified) can walk in and teach. Even those lower level programs require an extremely broad knowledge base. These programs always seem to be the cart before the horse. They seem to assume there are qualified teachers out there just waiting for these programs to come along. The few that are qualified are not going to abandon what they spent years building because there was nothing out there to use.

Owen Astrachan said...

I'm pretty much up-to-date on CS Principles projects (for any readers out their, I'm the PI on the College Board project). Here's a map of where CSP is being taught as of today, each high school was supplied by the project leader for that project.

This is the state-of-the-world today. What it will be like next year is different for sure. But there is clearly no dominant course or project here.

shoran said...

As I am they guy that asked the Q to Alfred, I'd like to comment. Not every school as as many talented people as have posted. As I CSTA (and CompTIA) guy, I have served my years in both arenas. One problem I see is that the CS arena is filling up with fill-ins, people who do not have a strong background in CS or IT. That there is guidance at MIT and Berkeley and NC is great in my book. While working with 21 HSs, I found that most schools dropped CS because there WAS such a paucity of well (not un) trained folk. Many states treat CS as an IT CTE topic and get people sideways from industry who know code, but not education. From a statewide view, the arena looks chaotic, with people teaching whatever they want. When I worked with NIMSI and the AP JAVA classes, even they were all over the map... and that is a pretty tight curriculum.
When I went to SIGCSE it seemed like there was a lot of energy supporting ECS, BJC and AP CS P and Java as a pathway.
It seemed to allow individualism and not lean so heavily on syntax. That is why I asked AT on his take. Thanks for all the great feedback, although I am not sure what to do with it.