AP CS: Principles is a new Advanced Placement course in preparation by the College Board, for introduction in 2015. It is meant to align with college “CS 0” courses for non-CS majors. (The existing AP CS A, aligned with “CS 1” courses, will continue under the name AP CS: Programming.) The new AP standard is very flexible in its details, including both the amount of computer programming taught and the programming language used. We feel that the SNAP! visual programming language allows us to present, in BJC, a technically rigorous course, including recursion and higher order functions, that still attracts and retains non-CS majors, women, and minorities.

History: Our Beauty and Joy of Computing (BJC) course (locally it's called "CS10", which you may see here and there) was chosen as two of the CollegeBoard's first five national Pilots (at UC Berkeley and UNC Charlotte). Dan and Brian and a team of students designed the first version of the course in 2009, Tiffany and her team made a variant it, adding game design. They've all been teaching it every semester since. Over 100 teachers have gone through our PD, and over 25 teachers are teaching BJC in their high schools.

Professional Development: We will bring BJC teacher preparation to you if you have about 20 teachers willing to commit 1 full week to this demanding course. We provide an experienced BJC teacher to spend 1 week on-site. Participating teachers will receive 60 hours of Continuing Education credit upon completing the PD. For 2022 PD opportunities, please apply at 2022 BJC Summer PD Application.

Project Website:

Software Website:

Principal Investigators: Dan Garcia and Brian Harvey (UC Berkeley), Tiffany Barnes (NC State)


Contact Us:

For the most part, BJC teachers aren't on this site; instead, we have a global community of teachers on Piazza. Fill out our request form for Teacher Resource access at Feel free to contact us at


Lauren Mock

Group Content