What is the CS Education ask?
In this context, “ask” is a bizlingo noun meaning “request” or “proposed terms”. So an alternative title for this post could be, “What the hell do we actually want people to do?” The latest issue of ACM Inroads has an entire section devoted to CS Principles and the CS10K Initiative — or, as I like to call it, the most ambitious educational reform project without a web site.
I say that because if you’re actually putting together a “large-scale, collaborative project bringing together stakeholders from wide-ranging constituencies”, you don’t bury all the information about it behind a paywall. I happen to be teaching at UC Berkeley this summer, but otherwise I wouldn’t even have access to the paper that describes the CS10K project. And I think I’m the kind of person that might be able to help. I actually teach high school computer science! I want more colleagues! I believe CS education is vitally important for young people! The fact that the first result for “cs10k” in Google takes you nowhere is a problem. The lack of open, public discussion of the issues and plans is a problem. The lack of savvy about engaging the whole community — including high school teachers and administrators — is a problem.
But dire as it is, that’s not the biggest problem. The biggest problem is that we don’t agree on what we’re asking for. It’s not that we disagree. We just have no idea. But at least the goal has been made clear, even if not effectively publicized: A new AP course in 10,000 high schools by 2015. (Or maybe 2016 or 2017, I now hear.) In 2011, there were only 2,667 high schools in the world with students taking the AP Computer Science A exam. Today, I think there are about 2,100 high schools authorized to offer the course in the US (not that all of them actually do). There are about 40k total public and private high schools in the US.
So this is a massive operation, to move from something like 6% to around 25% of schools offering a CS course. We’re talking about bringing at least 7,500 new schools online — schools that have never had a computer science course. I’m assuming that the number of schools offering a legitimate non-AP computer science curriculum rounds to approximately zero. There may be a handful of amazing exceptions, but it’s a handful and this is a numbers game.
So what specific policy changes will help us get there? We can’t just wish for a unicorn. We have to be able to at least theorize a mechanism that delivers a unicorn. And that’s a lot harder to do. So is it simply a matter of offering an attractive, accessible, engaging curriculum along with professional development? I suspect that this alone, although wonderful, will not do it.
Even initiatives such as Computing in the Core, which acknowledges the complexity of the issues around graduation requirements and teacher certification, limits its advice to governments to broad general statements like, “Ensure that courses count toward a student’s core graduation requirements either as mathematics, science or computer science credits.” That’s getting to the unicorn by saying, “Make sure you like unicorns.” It doesn’t tell us anything about how to make it happen. There’s a whole world of difference between counting the course as math or counting it as its own subject.
Given the very decentralized nature of educational policymaking in the US, the best advice anyone has yet come up with is essentially, “Figure out what makes sense in your state/district/school and then try for it.” At least that’s what I read in Chris Stephenson and Cameron Wilson’s latest article, Reforming K-12 computer science education… what will your story be?. Again, sorry you can’t read it without a journal subscription. I hope this represents ivory tower obliviousness rather than the belief that anyone who isn’t an ACM member wouldn’t be a useful partner. But even if all current high school computer science teachers could and did somehow read the article, that’s still not nearly enough involvement for the non-plan to succeed. We need thousands of schools to act, but we’re not telling anyone at all what to do in any specific way. The little conversation we are having is taking place behind closed doors.
At the 2012 Berkeley CS4HS meeting last week, we tried to dig into some of the specifics. Pierre Bierre (of AlgoGeom, one of the few CS courses that has achieved (c) Mathematics status) asked us to consider what we’d like to work towards. These are the options that we discussed and the points raised for and against each:
Make CS a high school graduation requirement
Many in the room agreed that CS is as relevant as Biology or Algebra in terms of understanding how the world around us works and providing a model for thinking. However, it’s also a reality that teachers of required-for-graduation courses are under a lot of pressure to simply pass students. Many school districts now require three years of math for graduation in order to match the UC a-g requirements, and this has lead to the rise of all sorts of bogus courses that exist only to produce math credits. This reminds us that setting a bar often incentivizes the lowering of that bar to the point of meaninglessness. Which isn’t a reason not to try. But the question is: What would CS replace? If the answer is “any elective” then it will be a tough fight — a true CS course is probably harder for most students than most electives. But if the answer is “some current element of the core curriculum” then we’re fighting an even harder battle. There’s some indication that California’s Commission on Teacher Credentialing might be ready to test an experimental credential for CS. I don’t know much about that but I support the idea and would like to know if anyone is actively working on it.
Get a CS course recognized as a core curriculum (math or science) course
This is really about UC recognition — local district recognition means little if the student can’t use the credit to apply to a UC. So getting a CS course into the (c) Mathematics section is something that many teachers have tried and, when the focus of the course is on programming, it’s something that has been resisted strongly by the UC Office of the President. There’s also reluctance on the part of many, including outspoken disagreement from Brian Harvey, to creating a situation where students choose between Calculus and Computer Science. CS really isn’t math or science. Dan Garcia (sharing a sentiment I’ve also heard from Owen Astrachan) asserted that it’s engineering. So perhaps we should be looking for a broader kind of new graduation or admission requirement. But I don’t know of any other engineering area (mechanical? chemical? civil?) that’s ready to push curriculum to the high school level, and this would only compound the certification/credentialing problems.
Use AB 1330 to make space for new CS courses
This bill that allows CTE courses to substitute for language or arts courses a California-only strategy for now. The legislation was strongly opposed by arts and foreign language teachers who see it as a threat to their jobs and it’s a long battle to fight that state-by-state to get a change that we’re ambivalent about exploiting. There are mixed feelings in general about the CS being filed with Career Technical Education, partly because the perception is that such courses in general lack academic rigor. In CS this plays out as “applications” courses that teach the use of tools like Microsoft Word and PowerPoint — no one really believes these are “career” skills but more of these courses exist than you’d hope. A real career-oriented CS course might look more like CNC Machining. Or the ECS curriculum could be used to create a true CS CTE course. Still, no one feels great about pushing high schools to close arts or language courses even in favor of a true CS course. Most significantly though, AB 1330 does nothing to change the UC a-g requirements, which means that CS is still effectively relegated to its current elective slot for many students.
Push CS content into other required subjects
There’s a genuine belief that CS is an important and useful lens through which the study of other subjects (particularly the sciences, but also math as in the case of AlgoGeom) might be enhanced. On the other hand, someone asked how we might feel if the biologists showed up in our CS classes and demanded that we teach some bio while we’re doing what we’re doing — considering, you know, that biology is an important application of CS. So there are limits to how much computer science will really fit inside other subjects. I think there’s an opportunity here to do something (which the UCCI Institue is trying for this summer) but I don’t see where the urgency is going to come from that will suddenly start moving this into thousands of schools a year. Lots of “curriculum development” work is sitting on shelves in binders.
Add a UC admission requirement (turn the “a-g” list into an “a-h” list)
I believe the current list is frozen for a year, but when it thaws again we are in the same position as other young fields (academic subjects less than 100 years old) in desiring recognition. If the UC system phased in a requirement like this, it would certainly drive the creation of these courses in many high schools. While this is the most obvious and powerful lever, it is also therefore one that every educator and administrator in the state will be nervous about. I can imagine that some districts/schools wouldn’t be able to put a program in place, even if given a long runway. This would be a huge deal — but with so many districts committed to making their graduation requirements match “a-g” it’s the only option discussed so far that seems to me like it can really move the needle. This option is reported to be very unlikely, but it’s the one that would most clearly have an immediate impact. And even if this happened today, it would be at least 2016 before it could be phased in. Something on this scale has to appear pretty soon or else CS10K is a bust.
Add a UC admission recommendation (an “h” category with 0 required/1 recommended)
or
Get a UC admissions officer to state that CS is seen favorably in the admissions process
These seem to me like next-best options, but Tom Murphy from Contra Costa College raised a very important point: This could be a social justice disaster. Creating something “optional” or “encouraged” — knowing that parent involvement and district resources are wildly divergent — is a good way to increase the achievement gap. This reminds me of Justin Reich’s work (How Free and Open Education Might Widen Digital Divides). This is something that I’m sure UC officials would have to consider when discussing possible changes.
So it appears that we are in a very difficult position. None of the players in the industry who could throw their weight around (the Apple/Google/Microsoft/Oracle kind of players) legislatively really need anything to change. They can always skim from the top people around the world. The demand will drive enrollment at the top-tier brand-name schools they tend to hire from. It’s really the startups and smaller companies trying to hire proficient programmers who suffer. There doesn’t seem to be the political will to change, even though almost anyone you ask on the street will say that they believe computers and programming are important in our world, that learning about them will help in almost any career, and that it’s crazy for high schools not to teach this stuff. So where do we go from here?
Now Noah was there, he answered the callin’
and he finished up the ark just as the rain was fallin’.
He marched in the animals two by two,
and he called out as they went through,‘Hey Lord, I got your two alligators and your couple of geese,
your humpy bumpy camels and your chimpanzees.
Got your catsandratsandelephants – but Lord, I’m so forlorn
’cause I just don’t see no Unicorn.’from The Unicorn by Shel Silverstein
Ben – Thanks for taking the time to create this summary. Our evening discussion was a real treat, but it felt as if we didn’t leave with a more concrete action plan. Your post is EXACTLY what we needed. As the efforts begin to streamline, please let me know how I can be of assistance.
The policy change we seemed to like the most…a “0-required, 1-recommended” college entrance criterion at UC / CSU shapes up like this in terms of students impacted: (based on 2009 college applications):
UC: 16.3% of graduating HS students applied
CSU: 33% of graduating HS students applied
——————————————————————
UC/CSU 50% of graduating HS students applied
If the goal is to greatly diversify the demographics, we would want to impact both UC and CSU applicants.
Along this strategy, UCOP is the area where outreach needs to take place. The CCEAN task force knows this is coming, and wants to let the strategy solidify first before bridge-building.
On the other hand, until we know what constraints UCOP (admissions policy group) is working under, it just wastes time and energy trying to develop the “ask” in a vacuum.
My sense is we need to develop informal contacts and information sharing, without trying to put forth a position. In my mind, it would be OK for UCOP to know at this point:
1) The CCEAN task force exists and has written a White Paper (Debra Richardson,UC Irvine, chair)
2) The 9-12 public school system is not exposing nearly enough students to their opportunities in CS careers, and the CA software industry is facing a serious skillbase shortage.
I agree that it’s draining to see these various efforts continue to be so chaotic and hard to follow. Thanks for providing a bit of visibility into what some of the players are thinking about and discussing.
I’m in Chicago this week participating in an Exploring CS training. As I’m sure you know they’ve just received a chunk of NSF money and will likely provide another concrete model for CS10K PD. I guess the hope is that little by little, models like it or Berkeley’s CS10 will start to emerge from the chaos. How they ultimately complement each other is a little less clear to me.
Despite the chaos, it’s exciting stuff to watch happening. I do hope we don’t lose track of APCS A which continues to draw successful students to the field (and which is increasing in popularity — +4,000 takers over the last year).
Hi Hélène – I’ve heard a model for a 3-year high school CS curriculum proposed to start with ECS, then AP CS Principles, and then the existing APCS A (Java). I was a reader for A this year for the first time and it was a great experience. Voices were raised reminding the College Board that people like this exam/course. Whatever adjustments we might want to make, we certainly don’t want it to go away.
My concern here is less about curriculum — to which I see lots of talented people devoting massive efforts — and more about the strategy. It seems very clear to me that if we want lots and lots of people to do things (like, parents demanding CS, students signing up to take it, teachers stepping up to teach it, administrators finding space for it in the schedule, colleges being clear about its value in admissions) then we should be making a much bigger effort to communicate with those folks.
I agree but how can we communicate when there’s no message? When I say that models are starting to emerge, I mean the whole package — who will teach what, funded by whom and in place of what existing requirements. All of those things need to fall into place and they need to fall into place together. As you described, many of the proposed approaches don’t seem all that promising. What ECS and Taste of Computing provide are a context for experimenting at relatively large scale with specific settings for each of the variables above (curriculum, teacher pool, etc). Even then, the strategies that are confirmed to work will be largely regional but at least we might be able to communicate what success can look like.
The CTE folks have gathered together educators to come up with a 3-year sequence in CS. It looks like this:
Year 1 – ECS
Year 2 – AP CS A
Year 3 – https://docs.google.com/document/d/1VIfJ0PjWniC5e7YXRwpsMvcIpAokyYMWzAJHyLBeY6Y/edit?pli=1
The intent of CTE is that a student completing these 3 years would be able to graduate from high school with something that they could take into industry.
Mike Efram
I agree there is a problem with strategy but only because I think CS10K is still in the nascent stages. That is, we don’t really know what problem we’re solving quite yet, but everyone is working quickly and hard to see what sticks. I think this is, or could be, a good thing, as a bunch of projects in several states are really starting to figure out what works.
But I do think that most of the effort so far has been to make engaging CS curriculum that reaches more people. Almost all of the CS10K efforts I’ve seen are working on making curriculum that scales but they’re ONLY focused on providing training to current CS teachers. And that’s an important part because we need to have good curriculum in place if we’re going to scale up – people can’t just be left out in the wilderness. So now, I think we’re at the “If you build it, will they come?” stage.
The next HUGE part is that we need to create NEW CS teachers somehow. We need CS10K projects that are much more devoted to creating NEW CS teachers where there weren’t any before, and coupling it with a COMMITMENT from schools or districts to offer a CS course where there wasn’t one before.
To repeat: for CS10K the next step is to make CS where it wasn’t before. This is what NSF should be supporting.
Obviously, some public policy changes to go along with that would help, or would grease the wheels, and I assure you the ACM public policy arm is on the case. But it’s hard. There are a lot of moving parts. We just need to make sure that all of these projects circling about eventually spiral into something close to single, focused effort.
I understand the frustration, but I think we’re making progress and I’m (at 9am on Monday morning) hopeful.
–Baker
Developing engaging courses is something small groups of educators can do. CS10K, if it is going to succeed, has to pivot and address the systemic, bureaucratic, policy issues that have kept CS out of the majority of high schools.
1. How can NEW CS teachers be brought into service as demand increases? Part-time? Full-time? Upgrade Math-credentialed teachers? Train software industry veterans? Should Pre-service teaching college students (no industry experience) even be considered?
2. How do you solve the Master Schedule challenge, year-in, year-out? How to assure enough signups (if CS is an elective)? How to compensate schools for partially-filled class size?
3. How to ignite passion among parents and students, then School Boards and Superintendants?