Contents
Introduction
Welcome to AP Computer Science Principles at Berkeley High School, taught by Ms. O’Keefe and Mr. Seibel (and formerly co-developed with Ms. Chang).
In this course, we’ll be studying the big ideas of computing using the Snap! programming language. No matter what career you choose to pursue, an understanding of computer science is becoming increasingly essential in today’s world.
We want you to have fun and learn. This curriculum is lab centric built around lots of projects that will require you to write code. While we may give brief lectures at the beginning of class to make sure you understand key ideas before you start work on the day’s lab, you will learn the most by then applying those ideas to the work in the labs.
Since working with other people is a key part of modern programming you will do most of your work paired with another person for support, and you should expect a lot of your learning to come from figuring out your mistakes/bugs, both on your own and together with your classmates.
Outline of Course Objectives and Topics
The AP Computer Science Principles class is a two-semester course which will prepare you for the AP Computer Science Principles Exam. This is the website that you will be mainly be using for classwork all semester long. We’ll be using a curriculum adapted from the Beauty and Joy of Computing (BJC) which was created from an existing course of the same name at Cal, CS 10.
Units 1-5 cover all of the AP CSP curriculum framework. You will be ready for the exam after completing these key units.
Units 6-8 focus on the abstraction hierarchy of how computers work as well as recursion, a beautiful and powerful CS idea that goes beyond the AP CSP Framework and exam. These units are perfect to enjoy after the exam.
Here are some course objectives that we will cover over the first five units:
Experience the beauty and the joy of programming
Understand the nature of programming as problem solving and persevering
Understand the basic principles of programming
Learn to code fluently in Snap! in a well-structured fashion with effective documentation and code clarity
Implement algorithms using conditional and iterative control structures as well as recursion
Read and discuss the Blown to Bits book and current topics in computer science/technology
Prepare for the AP CSP exam in the Spring (exam optional)
Course Resources
This website will be the main source of assignments and instructional material. We have a Google Classroom for the course which we may occassionaly use for communication but assignments will appear in the TODO list on this website and most of your work will be done here.