My overall reaction is: sigh (read: not surprised)
But there are some details about what you’re seeing as well as our (Code.org’s) general response:
First, according the the Course and Exam Description here is the approx % breakdown of how questions are supposed to be allocated across the big ideas:
- Creativity - 0%
- Abstraction - 19%
- Data and Information - 18%
- Algorithms - 20%
- Programming - 20%
- The Internet - 13%
- Global Impact - 10%
So, I’m guessing that a bunch of the programming questions might be “technically” allocated as algorithms questions, and possibly abstraction. For example, any question that involves reasoning about pseudo-robot programs could plausibly be an algorithms question. If it involves reasoning about a function or procedure it’s plausibly classified as an abstraction question.
As for my reaction: I’m not really surprised. The exam is developed by people from the CS community submitting sample questions. One thing this community has a lot of practice at is developing programming exam questions. One thing we DO NOT have a lot of practice at is developing age-appropriate questions for just about everything else
As for our CSP course we’ve recognized that the pilot course went long in some areas (esp. internet) and needed to be revised. Not sure if you’ve seen it, or are aware but we are in throes of making version 2.0 of the curriculum which will be rolled out over the summer. If you look at our revised syllabus on http://code.org/educate/csp (here is direct link to revised syllabus) you’ll see how we’ve moved some things around to:
a) shorten the course, esp. the Internet Unit
b) get to programming earlier
c) added emphasis on algorithms
If you get into Unit 3 of our course (and have a verified teacher account) you’ll see we do have a number of practice multiple choice assessments in the programming unit to prepare students for just this (expected) eventuality of the exam.
That said, our course is definitely Internet “heavy” for a variety of reasons.
- It’s the area that has gotten very little attention in K-12.
- It is less likely that students have seen and solved internet-related problems than they have programming coming into the class - so starting with this material makes for a more equitable, level playing field in the classroom to start the course.
- We believe that solving problems related to the internet - developing protocols and abstractions - is as or more important for the cognitive and problem solving behaviors it engages, than it is for the internet content itself. In other words, we “use” the Internet as a lens into problem solving, collaboration, communication and abstraction.
Overall, I do wish the CS Principles exam would at least appear to emphasize programming less. I do have a hope that it will evolve in this regard over time as we all get better at understanding what/how to assess the other content on an AP exam.
There’s my “quick” $0.02
Code.org CSP Team