The Beauty and Joy of Computing

An AP CS Principles Course

Try the Curriculum Join PD Summer 2021

The Beauty and Joy of Computing (BJC) is an introductory computer science curriculum developed at the University of California, Berkeley, intended for non-CS majors at the high school junior through undergraduate freshman level. It was one of the five initial pilot programs for the AP CS Principles course being developed by the College Board and the National Science Foundation. We offer it as CS10 at Berkeley.

How is BJC Special?

Professional Development

2020 PD

Apply for BJC National Summer 2020 PD

If you are interested in attending Summer 2020 PD, please leave us your information on our Summer 2020 PD interest form so we can notify you when more details are available!

If you are ready to apply to BJC Summer 2020 PD, please apply on our Summer PD 2020 page!

snap! logo

Snap! 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.

blown to bits book

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.