Official AP Computer Science Site

NC State BJC Curriculum Page

Berkeley BJC Curriculum Page

CS10K Community Page



Process Oriented Guided Inquiry Learning Screencast type of stuff Screencast put a quiz into a video or screencast Facebook for your classroom (has a gradebook) Labs for Java Flow chart creator Bot Game Presentation Tool


Instructional Technology:
- Tips on Selecting technology:

Saving projects in Snap:
  1. Click on the button that looks like a piece of paper and clicking on the option titled "Export".
  2. This will bring up an ugly-looking webpage full of code.
  3. In the browser, go to "File -> Save As..." and save this file to the DESKTOP as [your-project-name].xml.
  4. Then this file can be emailed or uploaded to moodle for sharing/grading.
Opening saved projects in Snap:
  1. To open an exported Snap xml file like, click on the paper button and select "Import".
  2. Select the XML file and then it should load, sprites and all.
  3. RECOMMENDED: give the students a naming convention, like lastname-firstname-lab1.xml, so that when you download them all you will not overwrite any of them and you will know whose is whose.
  • Go to Leslie Keller's course:
  • Click on Log In in the top right corner.
  • Under New Guest Users - Click the Create new account button.
  • Create you account and confirm it (an email will be sent to you.)
  • Please send me the name and email address you used. I can then add you formally to the Moodle course.
  • To access the course, click on the Guest log in.

Background & Resources
  1. UC Berkeley video lectures
  2. Presentation on the need for this class! (attached below as Cuny CE21 Meeting CS10K Talk v3.pptx)
  3. CS Principles website:
  4. Beauty and Joy of Computing home:
  5. BYOB / Snap! home:
  6. UC Berkeley Spring 2014 CS10 class that teaches BJC:
  7. Ensemble of resources for BJC
  8. Pair Programming:

BJC-NC Book PDFs (will soon be updated)
  1. Unit 1:
  2. Unit 2:
  3. Unit 3:
  4. Unit 4:
  5. Unit 5:
  6. Unit 6:
  7. Unit 7:
  8. Unit 8:
  9. Unit 9:
  10. Unit 10:
  11. Unit 11:
  12. Unit 12:
  13. Unit 13:
  14. Whole book:
  15. Website

Activity resources
  1. This activity has different groups try to infer knowledge from pictures, word lists, and wordles Picture_activity.docx
  2. Blind men and elephant story:
  3. State guessing game: How many guesses does it take to guess which state I am thinking of? (binary and ternary search)
  4. The Great Weights Puzzle:

  1. Lecture Powerpoint + PDF:

BYOB/Snap! things you might not know
  1. You can change the direction and position of the sprite through the motion tab functions
  2. If you're using the change by or set byblocks, you have to click the drop-down menu to find the variable name, you can't drag the variable into the slot.
  3. If your code looks fine but isn't running, check to see if you have global and local variables with the same name. If you do, delete one of them, and replace ALL instances of that name you can find with the one you have left.

Updated NC Curriculum Course Blueprint
Here is the blueprint for the NC AP Computer Science Principles course that has been submitted to the Department of Public Instruction (updated 9-3-13).