BJC Professional Development Materials

Welcome to the teacher professional development for BJC: The Beauty and Joy of Computing!

This page describes the six-week workshop model. In 2017 this model applies only in New York City. For the three-week model, click here.

BJC is designed to meet the requirements of the College Board AP Computer Science Principles curriculum framework. It was originally developed as a university breadth course at the University of California, Berkeley, and has been extensively revised for high school use at EDC (Education Development Center).

This is a six-week workshop. The first and last weeks are face-to-face; during the middle four weeks, most of the work is done online, along with a computer-mediated virtual meeting once per week. The materials needed for the workshop are all online, and there are links to them on this page, which is organized in three sections:

  1. About BJC and This Workshop
  2. About AP CS Principles
  3. About Snap! (our programming language)


The Curriculum

The most important links you'll need throughout the workshop are to the online curriculum itself:


Workshop Schedule

  • Week 1 Face-to-face Schedule
    Note: In 2017, because of when religious holidays fall, this first week is actually divided into three days of spring break in April plus two days in June. See the dates in the linked schedule.
  • (April 2016 week 1 schedule)
  • Middle weeks schedule:

    In 2017, the middle weeks, during which participants take most of the online course, are scheduled July 10 - Aug 4, leaving the week of July 4 free. However, those participants who plan to attend the CSTA conference July 9-11 should start on the online material July 6-7.

    Each week includes two chapters from Blown to Bits. You don't have to read the complete chapters! Give each chapter an hour, or finish the first ten pages, whichever is longer. (Of course once you get started, we think you won't want to stop early.)

    Each week also includes a computer-mediated discussion section led by a Berkeley teaching assistant, both to model discussion sections and to provide time for answers to questions on the week's curriculum.

    Week   Lab assignment Reading     Other assignment NYC 2017
    2finish Unit 2: Conditionals  BtB ch. 1July 10-14
    Unit 3: ListsBtB ch. 2
    3Unit 4: Internet and Global Impact    BtB ch. 3Midterm exam due Friday,July 17-21
    Unit 5: Algorithms and DataBtB ch. 4   July 21
    4Unit 6: RecursionBtB ch. 5Paper ("Explore" task) due Friday,   July 24-28
    Unit 7: Recursive Reporters      BtB ch. 6   July 28
    5work on final projectBtB ch. 7Final project ("Create" task)July 31 - Aug 4
    BtB ch. 8    due Monday week 6 (Aug 8)
  • Week 6 Face-to-face Schedule (Aug 8-12)
  • Assignments to be turned in
    • Midterm exam (take-home) covering Units 1-3 will be distributed by email and will be turned in by email to
    • Explore task is basically a paper about a topic in social implications of computers, but the College Board has specific rules that you should try to follow, so you'll know what your students have to do. Turned in by email to
    • Create task, also known as the final project, is your entire lab assignment for week 5. You should work on it in pairs, even though the College Board wants some parts to be individual. You will bring the Snap! project and the presentation to the final face-to-face week, to demonstrate to your fellow participants.


Other BJC links


Week 1 activity links









From the College Board CSP site:

AP Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. With a unique focus on creative problem solving and real-world applications, AP Computer Science Principles prepares students for college and career.

Computer Science: The New Literacy

Whether it's 3-D animation, engineering, music, app development, medicine, visual design, robotics, or political analysis, computer science is the engine that powers the technology, productivity, and innovation that drive the world. Computer science experience has become an imperative for today's students and the workforce of tomorrow.

The AP Program designed AP Computer Science Principles with the goal of creating leaders in computer science fields and attracting and engaging those who are traditionally underrepresented with essential computing tools and multidisciplinary opportunities.

Rigorously Developed

In development since 2008, AP Computer Science Principles was created with significant support from the National Science Foundation. The College Board worked with more than 50 leading high school and higher education computer science educators who piloted the course at their institutions. This rigorous process of development and testing has yielded a course that not only reflects the latest scholarship in the field, but provides students with a relevant and engaging learning experience.

Over 90 colleges and universities have stated their support for the course, with the majority anticipating they will award college credit for high exam scores.


College Board document links


College Board BJC endorsement documents


Snap! is a visual programming language based on Scratch (MIT Media Lab), but extended to support more advanced computer science ideas, especially recursion and functional programming.



Snap! links