This course covers the central ideas of computer science using visualization and application. Students will learn the ideas and practices of computational thinking with a focus on fostering student creativity. They will develop a range of programming skills, work individually and collaboratively to solve problems, and explore a number of programming environments. This course is designed to be far more than a traditional introduction to programming. It is a rigorous, engaging, and approachable course that explores many of the big, foundational ideas of computing so that all students understand how these concepts are transforming the world we live in. This is the second semester of a year-long course and continues the concepts and skills covered in AP Computer Science Principles (Sem 1).