US Computer Science
- AP Computer Science
- AP Computer Science Principles
- Computer Science Applications
- Data Structures & Algorithms
- Intro to Programming
AP Computer Science is an introductory computer programming course designed to take the place of a first-semester college course. In addition to serving as an introduction to the field, the course also prepares students for the role that computing plays in physics, engineering, chemistry, biology, environmental science and other disciplines. The course emphasizes programming skills throughout.
AP Computer Science Principles is all about understanding how computing affects the world and our lives today while providing the tools and perspective to solve problems in computer science. We’ll learn about the intersection of computing and creativity, how the internet works, and how computers represent data; we’ll analyze societal, cultural and economic impacts of computer science. We’ll also learn the fundamentals of programming, which is a major component of this course (and no prior programming knowledge is required). Unlike its fellow course, AP Computer Science A, this course focuses on the breadth of computer science as a field rather than being a deep dive on coding.
This course goes beyond Computer Science AP in covering the background material needed for advanced study in computer science. Topics include recursion, stacks, queues, heaps, skip lists, tree-based data structures and elementary graph algorithms. Most of the second semester is spent on a large design project.
The primary goal of this course is to make students feel confident and capable as technology creators. We’ll learn the basics of programming using a beginner-friendly language, Python, as you add problem-solving tools to your computer science toolbox. We’ll also use HTML and CSS to create your own personal web pages while learning about good design principles. The semester will wrap up with a unit on arduinos, which are customizable and programmable electronic devices. With all the technologies the students use, the focus will be on teaching the key principles necessary for effective programming.