Welcome to the Beauty and Joy of Computing, BJC

In this course, you will create apps and other programs using the snap programming language, you will learn some of the most powerful ideas of computer science, you will be creative, and you will discuss the social implications of computing, thinking deeply about how you can be personally active in promoting the benefits and reducing the possible harms.

You are among the first in the nation to be doing this.

The BJC4NYC project is adapting the University of California, Berkeley's introductory computer science course as a high school AP CS Principles course. Over the years 2015-2018, BJC will be introduced to 100 NYC high schools. Your comments, corrections, and other feedback are valuable and will help to improve this course.

Teacher Guide

Term 1 Programming Project

Unit 8

Please check that your system meets the minimum specifications for running Snap!

Please note that the topic of recursion is not formally included in the AP Computer Science Principles Curriculum Framework. At the end of Unit 6, all of the CSP curriculum framework has been addressed. Units 7 and 8 contain additional material that’s important to computer science, but some or all of Unit 7 and Unit 8 may be covered after the AP exam in May.


The Beauty and Joy of Computing for New York City project is supported by the National Science Foundation under grant number 1441075.
National Science Foundation  Education Development Center  University of California, Berkeley  New York City Department of Education  NYC Foundation for Computer Science Education