Curriculum Updates 2017-18


@jbaik thanks for your question. I’m sure lots of other teachers are thinking the same thing.

The chapter break in Unit 2 falls after Lesson 6. At that point students should have just completed a small project as well as some practice AP-style MC questions, the combination of which should hopefully meet your bar of frequent feedback and assessment. That means you should only have Lessons 7-10 to think about.

If you look through the Assessment at the end of Unit 2 Chapter 2 I think that essentially all of the questions are still appropriate to ask students who have not completed Lessons 11-14. There may be a few in there that are reaches, especially those specifically related to the process of cleaning or making summary tables from data. I still think it would be useful to know how students handle those questions, and I’d be transparent about that with students in advance.

Lessons 7-10 all have at least one Check for Understanding question that should hopefully be helpful in this regard.

Finally I just want to remind you that Lessons 11-14 aren’t bad lessons but we just know they can take a while, especially the heavy-duty cleaning and analysis activities in 13 and 14. If you felt like you wanted a more project-like activity to end this unit you might consider doing an abbreviated version of Lessons 11 and 12 and using the “Discover a Data Story” activity as a more substantial assessment.

All of this is to say I think you have a lot of resources at your fingertips. Hopefully other teachers will weigh in on their approaches. You should also know that the curriculum team is hard at work ensuring you have more comprehensive recommendations in Units 3, 4, and 5. Let us know if you have more questions and thanks again for writing in!

Yours in code,


I’ve already done lesson 11, doing 12 tomorrow and after reading this I’m thinking of skipping 13-15. Does that mean I should also skip the chapter 2 test? Or, can it be modified to only have questions from lesson 7-10?


Hey @agrant I think the only question that might be a bit tricky for students would be question 8 of that Chapter 2 test. It asks students about cleaning data which students won’t have done by then. I’d review it yourself and decide if you think it’s inappropriate for your students based on what you’ve discussed in your class, but I think with the proper messaging to your students it would be useful for you to see how they did with it. In general, however, I think most of that Chapter Test is still useful.


Hi, GT,

Thank you for your input. I think that’s exactly what I will do; having them turn in a “Data Story” (L11 & L12) as the end of unit summative project.

I have done that for Unit 1 as well. In addition to the multiple choice questions, the students turned in a Concept Map and a Technical Paper as the end of unit summative projects.

Thank you for the prompt replies!


FWIW, I believe the planned changes are misguided. They are being presented here as a choice about logistics but there is more to it in my opinion. Unit 2 Chapter 2 and Unit 4 are the Data units. The changes that we are seeing are accurately described as removing Data and Data Analysis from CSP. From what I can tell this has been an incremental process as Data had a much larger place in the curriculum at the beginning.

To avoid unintended consequences I think it is important we look at these changes more holistically. The reason we seem to be making this change is to teach to the AP test and appease the College Board who seem to be pushing for a more objective assessment. I understand the Explore task is targeted for changes as well. These are certainly legitimate concerns but we should also pay some attention to what is being lost by removing data and data analysis from the curriculum.

From my experience, as some one who worked in the technology industry for 15 years before coming back to teaching, the most practical lessons in the entire CSP Curriculum the ones in the box above that are being proposed to cut… The learning payoff for that well taught series that culminates in pivot tables and data viz (It needs to be re-orged a bit) is huge. Being able to manage a spreadsheet and ask questions of data is a skill that can move a student from behind a cash register to behind a computer. To add insult to injury (yeah, I really feel strongly about this), it seems Unit 4 is likely to be cut as well. To be fair, I think that Unit 4 is the weakest in the curriculum at the moment but I also think it is the most important from the stand point of preparing students for the future. It needs to be rewritten not removed.

In our world today we are unable to discern fact from fiction. We have, as a society, lost the ability to think critically. This class teaches two fundamental skills: 1) Problem solving and all its prerequisites (iteration, failure to success, curiosity, being-right-is-boring, etc), 2) Critical thinking and all its prerequisites (data management, data analysis, trend vs. measurement, truth is real and always moving, …) Granted, we hadn’t really nailed #2 yet but we really, really need to teach this or why does this class even exist?

If we are teaching this class to pass the test and insert our children in to industry with programmer-as-the-new-burger-flipper then this makes sense.

If we are teaching this class because our world is broken and our students need the skills to fix it then we should be questioning these cuts and thinking more fundamentally about the learning goals of this curriculum.


It is an AP course, so if your students are planning to take the AP test, then we are preparing them to take and do well on the test.
The curriculum is being altered to fit the time frame we have to teach it. By all means, if you have more time, for what ever reason, don’t skip the lessons. But for those of use who are pressed for time and are preparing the students to take the AP test, that is what we have to focus on.


I guess I would say that it was a decision to make this an AP class. And maybe that is water under the bridge but I think we should regularly check to see if making this an AP class was a good idea. The purpose of making this an AP class was to:

  1. Bring girls and students of color in to computer science
  2. Increase the number of students in general who are exposed to CompSci

I and my colleagues who teach in Oakland CA are particularly motivated by the first and we also and a third.

  1. Our world is broken, computer science is particularly effective and addressing problems and our students are uniquely aware and capable of fixing our world.

So, if AP is not going to get us there we will do something else. I love the curriculum. It is extremely well written by very talented developers. We would never be able to develop curriculum on our own that could compare. So, I am pleading my case here.


Hi @steve1 . In many ways, I’m with you.

Seems like this has morphed into some of big philosophical questions facing CS Ed right now :). For example, who is the “we” in “we should regularly check to see if making this an AP class was a good idea” ? I think that question is for the broader CS Ed community in general. Remember that the name of the game here is to get CS into schools in the first place. And there may come a day when we don’t need an AP class to use a lever to get CS into high schools but the reality is that the AP moniker really helps lend legitimacy to a CS course that many school admins and teachers feel is a tremendous risk.

So for the time being there isn’t a world in which isn’t going to modify it’s AP CS course to better prepare students for the AP exam. However, we also hope that each teacher finds a niche or passion to make CS come alive for their students.

Now there is also a bigger question about whether the goals of (1) broadening participation in CS and (2) maintaining the “elite” brand of AP are at loggerheads. And I think it’s a really good, borderline existential question. The perception of AP (certainly) is that it’s an upper level class for the best college bound students. It’s hard to square that perception with a goal of bringing CS to the masses. You can’t be elite and broad at the same time, and I suspect this is secretly at the root of a lot of arguments about AP CSP, what it should be, and who it should be for.


Hey CSP Teachers,

As part of our ongoing updates to the CS Principles curriculum we will be releasing updates to Unit 3 this evening (Monday, October 30th) around 3:30pm PST. (These changes will also be incorporated into the subgoals research version of Unit 3, for those who opted-in to the research study).

We have summarized the updates and changes below. We believe these updates will be easy to integrate in your classroom and particularly useful as earlier preparation for students for the AP Performance Tasks. We tried to make the updates so that there is a minimal time impact on your class, however we think any extra time spent making direct ties between student activity in the unit with the AP Performance Tasks will pay huge dividends later in the spring.

Baker, GT, and the CS Principles Team

What’s new?

Background: Our primary goal was to improve connections to AP Create Performance Task without making significant changes to the unit. This resulted in three key changes:

  • Lesson 5: Added brief introduction to the AP Create PT, foreshadowing Practice PT in Lesson 10.
  • Lessons 6-9: Added AP style writing prompts for students to practice.
  • Lesson 10: Updated writing prompts, submission guidelines, and rubrics for the Design a Digital Scene Project to mimic the AP Create PT.

We also made a number of small updates and tweaks to code studio levels in Lessons 5-10 to support these modifications. In the image below, all newly-added or modified levels are indicated in green or purple. Blue ovals indicate a lesson plan that has been substantially changed.

Detailed Description of Changes

The most significant changes are to supporting documents that students use while completing the lesson (see Lesson 10). Links to the new documents can be found where you would expect: (1) Resources section of the lesson plan, (2) the first “bubble” of a lesson for student, and teacher-facing samples and exemplars in the “teacher-only” area.

Lesson 5

  • Lesson Plan: new wrap-up activity to do a 10 minute introduction to the AP Create PT.
  • Level 1: New definition of Abstraction, student links to College Board AP Create PT documents
  • Level 6: a text explanation/reference of Abstraction and what it means for programming. Possibly replaced with video eventually - text for now. You may read this with the class or simply refer back to it later.

Lesson 6

  • Level 4: (new) AP Practice Response - Describe the incremental development process

Lesson 7

  • Level 11: (new) AP Practice response - How would you score it? Abstraction response.

Lesson 8

  • Level 8: (new) Text level explaining “What are Comments?” and their purpose
  • Level 9: (new) Add your first comment to some code
  • Level 10: (modified) updated starting code for under-the-sea scene to include inline comments
  • Level 17: (new) AP Practice Response - how does this code manage complexity?

Lesson 9

  • Level 16: (new) AP Practice Response - Which of these is a student-developed abstraction?

Lesson 10

  • The bulk of the changes happened here. The actual programming task: “Design a Digital Scene” is the same as always, but we updated the surrounding supports significantly to better mimic an AP-style performance task.
  • New things:
    • New project submission guidelines: more focus on abstraction + iterative design process + making PDF of code and drawing rectangle around abstraction.
    • New writing prompts: Almost verbatim Create PT prompts (2a) about iterative design process and (2d) about abstraction
    • New rubrics and scoring guidelines for the student submission. They are almost verbatim College Board guidelines as well
    • Updated “programming rubric:” a separate rubric for evaluating the actual code, not just responses to writing prompt, to better and more concretely match programming skills knowledge we hope to see coming out of this unit.
      New annotated and scored sample student submission: A full student sample response to the writing problems side-by-side with the scoring guidelines and commentary.
    • Updated two student project code exemplars: Now with inline commentary about how to score the code against the new “programming rubric.”


I guess I would only add that we shouldn’t ever shy away from philosophical and the borderline existential. So, yes, absolutely, this is a “big philosophical question facing CS right now”. So, what is willing to do? What does believe? I heard you in that “there isn’t a world in which isn’t going to modify it’s AP CS course to better prepare students for the AP exam” is there a similar dedication or stake in the ground that can square with “You can’t be elite and broad at the same time”. For me (and some others), this is a movement in addition to a curriculum and issues of equity and student agency trump the requirements of the College Board. If we push hard we might be able to align them. But we would have to push hard.


@steve1 I think you’re right that asking hard, big questions is important. I do just want to clarify a point here though which is that we we’re solely motivated by the AP test here when we opted to make those recommendations in Unit 2. I personally conducted several detailed interviews with classroom teachers last fall about Unit 2. Some teachers had success with them, but usually after they had made tweaks. A number reported that it felt like they were losing the excitement and momentum that had been built up through Units 1 and Unit 2 Chapter 2. There were of course some, like you, who really valued these lessons. FWIW when I visited the high school I used to teach at, a public school on the southwest side of Chicago with largely first-generation students, I heard many students, unprompted, identify these lessons as the ones most in need of work. I want to be careful not to give too much voice to a single classroom experience like that, but when we looked at survey data from almost 200 teachers last year we heard similar questions about whether and how spreadsheet skills fit into this curriculum. When we brought together a small group of teachers to advise the team on how to update the curriculum, this was quickly identified as an area of the curriculum that needed attention, and many experienced teachers reported they were already skipping it without our recommendation. In other words, there were many inputs into this decision-making process that had nothing to do with the AP test, and compared to the rest of the curriculum there was a pretty consistent pattern of feedback that it might not be meeting the goals of the curriculum. Some of those goals are of course ensuring students are prepared for the AP test, but even for the broader goal of engaging students and increasing participation we had reason to believe we needed to take a careful look at these lessons.

Secondly I’d add that I think the questions of where and how to teach data are important ones. I used to be a data analyst myself, advising companies on high profile mergers. I left that job and entered education in large part because I was disenchanted by how data was being twisted and abused to make the arguments either side of these cases wanted to make. I think data is important for our students to understand and has a daily impact on their lives. I think we need a more data literate society so that people with more sophisticated data skills can’t essentially lie to the rest of us with numbers to get what they want. In short, I think you’re right to identify the importance of data.

I also, however, want to be careful about the aims of this course. It’s not as though we have removed these lessons to create space for multiple choice practice questions (something that is often requested and yet we’ve been advised repeatedly by expert teachers is not needed). We know we need to improve pacing because many classrooms just don’t have time to get to the other important content in this course. Students also need to know how the Internet works, or how the complexity of their lives is being digitized, or what’s involved in building the apps and software that students are using every day. This class is a survey course, and to some degree we’re treating every topic in it lightly, rather than going into great depth. We think every topic is important, but to some degree we’ve had to get comfortable with the idea that the way that we treat each one will be slightly unsatisfying to those who have deeper background with the topics.

To address an earlier comment of yours, Unit 4 is definitely not going away and if anything we plan on further emphasizing important questions there about how data and computing more broadly is affecting our students’ lives. Check in later for more updates on that. I also can’t say what will happen to these lessons in Unit 2 in the long term or data skills more generally. We’re moving quickly to address the needs the community identified for the curriculum and share our decisions essentially as soon as they’re ready to be publicly consumed.

Finally I’d just say that I think the field of computer science is in the middle of deciding how and when to teach “data”. I submitted a proposal for a BoF at SIGCSE this year because I (and really we here on the curriculum team at see these as important ones to answer. Frameworks, standards, and motivated teachers, all seem to agree these topics are important. The practical realities of teaching data in the classroom, however, are challenging. How much do we need to be working with math / science departments on this to ensure students come into the class already knowing the mathematical content we’d like to rely on. How deeply do students need to know how to use data management tools created for professionals versus beginners in the classroom? What content or skills do we even mean when we say “data”? These are all important questions that I think this community is still grappling with, and at the very least from where we sit there doesn’t seem to yet be clear answers. As someone who taught and studied math I think there’s similar questions to be asking there, where it feels like calculus continues to be unduly viewed as the most important topic to move our students to, as opposed to the statistical and data-manipulation skills that increasingly seem more relevant. That in itself is worth a post this long but I mention it just because I think a holistic view to these questions does need to be that big.

This is a long way of us saying that there are lots of deep questions to think about when designing an introductory computer science course. Some of them do involve the AP test and like Baker said, that will continue to be one of our priorities. We’ve committed to supported teachers teaching this as an AP class and we’ll continue to do that. You asked for an expression of other “stakes in the ground” and I think a good place to look for that is our Curriculum Values. We’ve committed ourselves to supporting teachers in classrooms, to responding to feedback, and to promoting student engagement, among many other things. We try to make decisions in alignment with these values and I’ve been trying to show that we think we still did that in this instance. That said, we rely on this community to tell us when we go wrong. We hope you all continue to let us know your thoughts and needs, and we actively reach out to ensure we understand the questions and challenges facing our classrooms. Looking forward to chatting more and thanks for taking the time to weigh in on these topics!


Not to distract from the philosophical questions, but as these updates are happening are students being kicked out of the curriculum? I was trying (today) to use Unit 3 in class (though I know it’s getting updated tonight) and students were unable to see Unit 3 on their end.

And, if yes, do we have some sort of timeline for when they are likely to be able to use it again? Or should I plan for alternate activities for the next few days?


No. Change should be transparent to student users and be smooth. When did you try to use unit 3? What did you see? Is everything okay now?

CSP Team


I am going to jump on this post too, since my students cannot access the Unit-3 either. I have “assigned the unit” as well as made lessons visible, but students cannot access it.


Hey @kerawallan can you email with the issue so that we can get eyes on it. If you include your user name and the name of your section in that email we should be able to take a look at it from our end. If it’s a broader issue this will also help us diagnose it.

Thanks and sorry you’re having this problem.


Yes, I have “assigned” the unit and made lessons visible. But all my classes cannot access this unit. I have 3 classes.


I ended up re-assigning the course, then the unit and then “hiding” sections as I normally do. That seemed to resolve the issue for me. :information_desk_person: who knows, but it worked!


Thank you for the thorough response. I am eager to see how the changes to Unit 4 come out. For my part, I will continue to tech the spreadsheet and data viz stuff but I have moved it after the programming (I am doing Unit 4 and the Explore task after Units 3 and 5 and the Create task). I am hoping to leverage their new abilities as algorithmic thinkers to make the data come alive. I have been doing the same survey with my students since the beginning of the year asking them how they feel today and a few other q’s about what they ate, exercise, etc. I am also playing with the idea of using as a data environment in which to teach relational data bases.

GT, if I can be any help in your efforts to establish a data centered curriculum I am eager to do so. Next year we will have a Sr. Capstone class in our Computer Science Pathway. As part of that class our intention is to teach a “learn to learn” framework where students can dive deeply in to specific areas that they need to learn to complete their task. Data management will likely be a significant part of this.

As always, I am grateful that talented, thoughtful people like yourselves and my colleagues on this list are working through this together. thank you for your engagement!


Hey Steve. Glad to hear you’ll still be using those lessons. It sounds like you’ll have a really interesting dataset to look through if you’ve been collecting their data for that long! That also sounds like a really cool capstone course for your seniors. If I were designing a pathway at a school of my own I’d be looking for something just like that to end the sequence.

I’ll second you in saying that we’re very grateful for the talented, thoughtful people here in this forum and on the broader CS education community who inform all our curricular decisions. If we ever set out to build more data-centric materials we’ll be eagerly looking for input!


A natural extension to compression introduced in Unit 2 is encryption. I am considering making a PT on that topic to conclude Unit 2. Any thoughts???