The big push at last year's CSTA conference was the release of the new CSTA K12 standards. It seemed that every other session was pushing them in one way or another. I've been meaning to share my thoughts about them or, more specifically, learning standards in general for a while but with announcement about federal funding for CS coming from the White House last week I thought it was time.
Before diving into CS standards lets talk about math.
To start I have yet to meet a math teacher that needs "the Standards" to know what to teach. Some how or other math teachers know they're supposed to teach in an algebra or geometry class. When NY moved to "integrated math" teachers were able to re-sequence classes without the benefit of "the standards" and when NY went back to Algebra, Geometry, then Alg 2 and Trig, teachers had no problem reorganizing classes again.
New teachers didn't go to "the Standards" to learn the ropes. Schools defined syllabi, teachers observed each other, shared resources, used lesson plan books and in general knew what they were supposed to teach and at what level.
In my quarter century of teaching, always in a math department we spent a lot of time talking about what we taught, when we taught it, how we taught it and at what level but until common core was forced down our throats we NEVER discussed "the Standards." We discussed our students, where we thought we could take them, and how to get them there. Somehow our students did alright.
More recently, the push has been on "The Standards," common core in particular.
Common standards sound good - kids in every school will learn the same things at the same level - but I contend that they aren't about learning. They're about testing.
Let's look at a few of the math standards. These were pulled directly from the Common Core:
Derive the equation of a circle of given center and radius using the Pythagorean Theorem; complete the square to find the center and radius of a circle given by an equation.
Use coordinates to prove simple geometric theorems algebraically. For example, prove or disprove that a figure defined by four given points in the coordinate plane is a rectangle; prove or disprove that the point (1, √3) lies on the circle centered at the origin and containing the point (0, 2).
Derive using similarity the fact that the length of the arc intercepted by an angle is proportional to the radius, and define the radian measure of the angle as the constant of proportionality; derive the formula for the area of a sector.
These aren't about deep thinking and problem solving. They're about very specific skills or techniques. They're also easy to put on a test. Much easier then assessing a students real problem solving ability.
Common Core comes hand in hand with standardized testing which is then used to punish students, teachers, and schools.
We keep hearing about individualized instruction - meeting the kids where they are but the standards tell us that kids MUST know specific things at specific times. You can't have both. In the best case, with "the standards" we can only meet students "where they are" within annual bands.
What has this led to? Narrowing curriculum for one thing. Since schools are evaluated based on the standardized exam in core subjects focus narrows and other subjects fall by the wayside.
Arguably worse is selective teaching within common core subjects.
Take for example, Geometry. The course is really "Logic and Deductive Reasoning using Euclidean Geometry as a Platform" but it's generally called Geometry. This class is supposed to be about getting kids to think. I've already shared a few standards above but let me tell you about an open secret - many schools don't really teach proof - arguably the most important part of the class.
In my last year at Stuy I graded Geometry regents for the city. I graded exams for two highly regarded unscreened schools. One that was lauded in a State of the Union address and the other equally hyped. I graded all of each school's students geometry regents so it wasn't just a sampling. Out of all the papers, only two or three scored more than 2 out of 9 points for the proof question and most were entirely left blank.
What happened? Proof is hard to teach and hard to learn but it's also only a small part of the standardized exam. It's critical for a school's survival and for the student to graduate that a passing score is earned. Rather than spending a large amount of time on few points and probably get a limited return I've been told that many schools spend much more time on topics that area easier to teach and have more weight on the exam. This makes the school look better and helps the student graduate but arguably the most important aspect of the course has been minimized.
High stakes testing leads to gaming the system. Common core standards come hand in hand with high stakes testing. We see the same with AP exams - there are schools that force students to take exams even when they are woefully prepared and mostly fail because this helps the school shoot up in the ratings.
This is what the common core math standards have given us. They're not for teachers - we don't need them - we know what to teach and only wish that the bean counters would indeed allow us to meet students where they are. Standards are about testing.
Let's move on to CS standards.
It might not be fair to compare CS to math since K12 math education has been around much longer and is more well defined and in theory having a set of standards gives us a common language to discuss, compare, and contrast all the content providers and curriculum developers out there. On the other hand, I also believe that with well prepared teachers who understand content and pedagogy the value isn't all that great. It's also worth considering the fact that nothing really makes the CSTA Standard writers special. There's no reason to think that another group - be they a handful of teachers or a content provider can't do a comparable job.
Here are some selections from the CSTA standards:
Design and develop a software artifact working in a team.
Compare and contrast various software licensing schemes (e.g., open source, freeware, commercial).
Design, develop, and implement a computing artifact that responds to an event (e.g., robot that responds to a sensor, mobile app that responds to a text message, sprite that responds to a broadcas
Demonstrate the value of abstraction for managing problem complexity (e.g., using a list instead of discrete variables).
Design algorithms u sing sequence, selection, and iteration.
Discuss techniques used to store, process, and retrieve different amounts of information (e.g., files, databases, data warehouses).
Compare and debate the positive and negative impacts of computing on behavior and culture (e.g., evolution from hitchhiking to ridesharing apps, online accommodation rental services).
Use simple encryption and decryption algorithms to transmit/receive an encrypted message.
Decompose a problem by creating new data types, functions, or classes.
Evaluate algorithms (e.g., sorting, searching) in terms of their efficiency, correctness, and clarity.
Use data analysis to identify significant patterns in complex systems (e.g., take existing data sets and make sense of them).
There's nothing wrong with these. They aren't specific enough to develop lessons from but, they can provide a consistent framework to discuss different offerings. Were the much more specific, we'd have the same issue I railed about with the math standards so this is a good thing.
Actually, in general, I don't have a problem with these standards. I might agree with some parts and disagree with others but that's neither here nor there.
To me the big concern on standards is what will they actually be used for. It's nice to think that it's a set of guidelines from which we can develop strong local experiences but I think this is somewhat naive. As states and the federal government bring CS Education into the fold there's no reason to believe that CS will be special. CS Ed will go the way of other subject areas. That means that whatever standards governments adopt, they will likely be used for high stakes tests rather than for true education. If you look to see how the sausage is made you can see the harm standards and standardized testing has wrought in subjects like math. CS Ed won't be far behind.
While we should be proud of all the work that's going on in our community it's more important now than ever to keep an eye on the overall big picture and be aware of how work intended for one purpose within the community can be used very differently by those outside of it. This is particularly important for advocates not in public schools. Public schools educate the majority of American students so CS4All means public schools. Standardized testing won't affect private schools (or private charters in many cases) nor will they affect colleges and in fact will be a boon to EdTech companies selling there wares. Many of the loudest voices in CSEd come from these contingents - it's important that they look to the greater issues, form their own opinions, and then act on what they believe is right.