I have a love/hate relationship with the AP Computer Science Principles course. Let’s start with the main LOVE I have, which also happens to be my main HATE: the freedom of setting up your course. I do love having a course that gives you a lot of freedom to add whatever you want to the curriculum, but at the same time, that is also my huge struggle when moving through the course.
At times, the amount of resources out there is overwhelming. There are so many “curriculums”, that you think it will be so great and easy to teach. HOWEVER, when you get into the weeds of this curriculum, you find that the freedom given by the College Board’s CED means that each of these “curriculum providers” has created their curriculum to look like nothing that the next curriculum provider has, and even teaching it in a different language entirely. Add on top of that, the “lesson plans” that are completely bogged down with nonsense that most teachers do not care about, and you have a whole mess of a school year.
This is going to be my third year teaching this course, and I feel like I’m just finally starting to make a curriculum that is my own. It has taken a while, and this year is still a work in progress, but it is great progress! On Teachers Pay Teachers, you will see that I have my AP Computer Science Principles Curriculum posted. This is the guided notes that I plan on using this year in my class, as well as 10 AP Exam multiple choice questions. Throughout the school year, I plan on making activities to fit into my curriculum and updating my TPT listing.
Note: The following reviews are MY OPINIONS and are intended to help APCSP teachers. I do not have any affiliates with College Board or the following curriculums.
Resource #1: code.org
By far, the biggest curriculum I hear about in my teacher groups is code.org. This was the curriculum I used my first year of teaching and overall, I do like it. Unfortunately, my perfectionist personality has found a few things that I don’t like about it, which means I have moved onto creating my own.
code.org was probably the best curriculum to use as a brand new teacher. The fact that it was “all in one” took a lot of the pressure off. Everything was already created and the IDE was integrated into the activities very easily. Students learn JavaScript both in text and block form, so it was very accessible for them. This eventually made it really nice for students to code the Create task, which they had a great journaling process as well. On top of that, it integrated well with Google Classroom, which is what our school used as our “LMS”.
The cons are more my pickiness with it, but I have heard other teachers mention the following disappointments. The fact they had no traditional content delivery with guided notes was the biggest disappointment. My students really thrive off of some traditional content delivery, and they were left feeling frustrated sometimes because they didn’t have that. code.org’s content delivery comes in the form of activities and discussions, which is okay sometimes, but I feel like activities every day were just overwhelming at times for my students. It was difficult to see the purpose of some activities for some of my students and there were days where I lost them. In addition, it was not that great for virtual learning, because of the massive amounts of activities that needed to take place in person. They did try to provide modifications for me, but they sometimes fell short.
Check out code.org’s APCSP curriculum here!
Resource #2: codeHS.com
This is another “all in one” curriculum that comes up a lot. I personally have not used this curriculum entirely, so the information I have for you comes from other teachers and what I have been able to deduce.
CodeHS is an all in one curriculum (both content and IDE are on their website) that I have explored a bit but have never used with my class. One of the big reasons I haven’t used it yet is because of the cost. While the videos and exercises are free for classroom use, you do have to pay for access to teacher keys, guided notes, and the grading system. If your school can afford it, this could be a really great option for you! I’m more of a free loader teacher, so the paid version is not something I was interested in.
This curriculum does appear to have more of a traditional content delivery option; the videos are free and deliver most of the content and it looks like the paid version of this curriculum does have guided notes. Students then have practice exercises to reinforce those concepts they learned.
Again, my pros and cons list comes from a surface level investigation; I have not used this curriculum personally so I would be interested to hear from people who have!
Check out CodeHS’s curriculums here!
Resource #3: CS Principles: Big Ideas in Programming
This is a FREE eBook developed by Mark Guzdial and Barbara Ericson. It is not an “all in one” curriculum, but it is the closest thing I have found to a textbook for this course. This is provided as an open source textbook from Runestone Academy, and you can access it without creating an account (students and teachers alike!). As with any of these resources, there are pros and cons!
This is not an all in one curriculum, but it is an amazing resource to have for any teacher. I’m waiting for the day when we can get an actual textbook from a publisher, but this is a great placeholder until that day comes. The content comes out as text in a textbook, but it also has exercises (both coding and multiple choice questions) that students can use to practice the content that they have just read about.
Because this is not an “all in one” curriclum, there is no way for students to track their progress while teachers see what they have completed (unless there is something I’m missing!). There are ads that run at the bottom of the page (maybe an adblocker extension can take care of that) and there are no secure assessments for teachers to use. In addition, there are not really any activities that are included, which is why this is a great supplemental resource.
It is all in Python, so the programming chapters might not be as useful if you are not using that language, but the chapters on the Internet, Digital Information, etc are very helpful!
Check out the FREE ebook here!
Resource #4: Khan Academy
If you haven’t heard of Khan Academy, get out from under your rock! Jokes aside, this site has come a long way in what they provide students with, content wise. Many teachers don’t realize that they do have a full AP Computer Science Principles curriculum, so you might want to take a look!
I will say, this curriculum appears to have been designed as a way for an individual student to learn and practice the content in APCSP. If you have a student who is doing an independt study in the subject, this is what I would recommend. It is also a great place to go as a teacher if you want to see how the content can be delivered more traditionally.
The cons are more just because it is not an all in one curriculum, not because there is anything wrong with it. This is another great supplemental resource, but on it’s own, it would probably not be something you use with your class only.
Check out Khan Academy’s curriculum here!
More Resources
csforallteachers.org –> discussions and free resources
Beatuty and Joy of Computing –> Another “all in one” curriculum that uses Snap! as their programming language.
Scratch –> While this is not a curriculum, some teachers like using this enviornment tointroduce coding concepts.
albert.io –> This website gives good examples of multiple choice questions, but you do need to buy an account to use them
College Board AP Classroom –> You do need to have gone through the official AP audit to get access, but their classroom resources have come a long way, especially for this year (21/22). Content videos and progress checks are now more initiative than ever!
If you are a APCSP teacher, what resources do you always recommend? Do you have anything to add to the resources above? I (and others) would love to hear! Comment below!!
0 Comments