Presented By: June Mark, Mary Fries, Paul Goldenberg, Brian Harvey
This poster presents the design principles of the Beauty and Joy of Computing (BJC) Advanced Placement Computer Science Principles (AP CSP) course. Snap_!_ was created specifically to support the BJC curriculum, which was originally developed at UC, Berkeley and later adapted by Education Development Center, Inc. into a high school AP CSP course. BJC covers the AP framework but also teaches additional programming topics including recursion, higher order functions, and abstract data types. We invite both those new to the curriculum as well experienced BJC teachers to explore the pedagogy behind the curriculum design and how it has influenced the development of Snap_!_ in this interactive poster session.
Our philosophy has always been to entice students to find programming something they enjoy and know they can do. Students must feel invited to use their own creativity and logic and to enjoy the power of their logic and the beauty and elegance of the code by which they express it. All students need genuine challenge and sensible support so all can have the joy of making—seeing themselves as creators, not just consumers, and seeing that their own intellect, not just our instructions, is the source of that making. The curriculum design principles we developed to support these goals have also guided the development of Snap_!_; learners should focus on the logic and structure of their thinking—not on misplaced semicolons, because attention to such syntactic detail is antithetical to broadening participation.
Based on our award-winning SIGCSE paper, our poster will cover BJC's pedagogical principles such as all kids can do challenging things, experience before formality, organizing around big ideas, learning by doing, helping students recognize and enjoy their own logic and creativity, and offering opportunities for personalization; our programming content principles such as the power of recursion, functions as data, and mathematics as a tool; our social implications of computing content principles such as how social implications differ for different groups of people, that everyone can participate in developing technology policies, and that teaching social implications is not “teaching ethics.” In addition, we will address how these design principles informed and were informed by teaching with Snap_!_.
BJC is an NSF-funded, College Board-endorsed, AP CSP course designed to help students develop computational habits of mind and appreciate the social issues of computing with the additional goal of broadening participation for female and underrepresented minority students. Like Snap_!_, BJC and the BJC Teacher Guide are available online and free of charge at bjc.edc.org and bjc.edc.org/teachers.