Beauty and Joy of Computing

An AP CS: Principles course.

Try Curriculum


Professional Development

We offer a six-week summer professional development workshop for teachers intending to teach BJC the following year. In this workshop, the first and last weeks are held face-to-face; the middle four weeks consist mostly of online lab materials, with weekly computer-mediated discussion sessions.
Summer 2014 schedule:

  • Berkeley, California:
    Week 1: June 23-27
    Week 6: July 28-Aug 1
  • North Carolina:
    Week 1: June 16-20
    Optional practicum teaching at camp for kids: June 23-27
    Week 6: Aug 4-8
  • Stipends & travel support available

Apply @


Programming Language

Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.


Textbook on Social Implications

In the non-programming part of our course we try to balance a fundamental optimism about the future of computer technology with an understanding of its limitations and potential for harm. Student readings are taken mainly from the excellent textbook Blown to Bits, which is available for free online download.

Going to a conference this summer? Meet with us.

Coming to the Scratch@MIT conference?

We are offering an all-day workshop on the BJC curriculum at MIT just before the conference:

Wednesday, August 6, 2014, 9AM – 5PM, room E62-550 (map)

(The Scratch conference starts with dinner the same evening.)

The workshop is free, but please sign up here. (Never mind all the questions about stipends, which relate to our six-week BJC workshops.)