Curriculum choice for AP Computer Science Principles
TL;DR Teach CS50 AP.



I taught AP CSP this past year, and I cannot speak highly enough for the curriculum that CS50 has written for this course. I'll try to enumerate its strengths as objectively as possible:


It actually feels like a legitimate AP course in the sense that it is a college course (the most popular one at Harvard and I believe the most popular MOOC as well) adapted for high school. The connection to Harvard adds great legitimacy to the curriculum and engages students.
The curriculum scaffolds nicely for beginners or students with a little background (especially Python). The language progression from Scratch to C to Python helps students build a foundation in computational thinking and progress towards more advanced programming constructs, culminating in building engaging web apps.
The resources available are unparalleled. CS50 has every lecture on video from every past iteration of the course. There are video shorts for every important concept along with additional study pages. Plus, there are communities here on SE and on Reddit.
It is about more than programming. CS50's three pillars are "accessibility, rigor, and culture." It brings all students to the table, challenges them, and also creates a classroom environment that stress community over competition. Events like CS50 Puzzle Day set it apart from any other class out there, AP or not.
The teacher support is incredible. I'm a part of a community online of other CS50 AP teachers, and it was invaluable throughout this past year. They constantly reach out and cultivate connections among teachers of the course. 
The course stress student growth. As they say on their syllabus, "what ultimately matters in this course is not so much where you end up relative to your classmates but where you, in Week 11, end up relative to yourself in Week 0." This stress on a growth mindset approach is perfect for beginners.
Students are more than prepared for the AP Exam.


I could keep going on and on, but this is sufficient for now. I believe strongly in CS50 and CS50 AP. The edX course CS50 quite literally changed my life. As one of their shirts says, I am "CS50 Proud."