AP Computer Science Principles
AP CS Principles is a course that exposes students to a wide variety of concepts in computer science specifically the big ideas in Computer Science. This course utilizes computational practices to teach computational thinking and computer science principles.
We explore the global and personal impact of computer science plus the use of computational tools in data analysis. Computer programming basics are introduced using MIT’s Scratch and AppInventor, Code.org's App Lab, and the high level programming language Python, while emphasizing problem-solving and logic development.
Students are introduced to various computer tools to solve problems creatively. Most projects are open-ended and students will work on them either in pairs or alone but with a focus on collaboration skills. As students create projects, they will be asked to narrate the project as well as reflect on their work by writing reports or responding to prompts.
The AP CS Principles course is designed as an entry-level college course. Students may receive college credit from, and at the discretion of, their post-secondary school of choice provided they score well on the AP CS Principles exam administered in May of each year.
RECOMMENDED PREREQUISITE: Pre-Algebra
Register for AP Computer Science Principles
Basic and On Demand are always open for registration.
Plus courses are created upon request.
SEMESTER 1
Unit 1: Intro to Computer Science Principles
- 1.1 Intro to Computer Science Overview
- 1.3 Introduction to Computer Science
- 1.4 Computer History
- 1.5 CS Impact on Our Lives
Unit 2: Algorithms
- 2.1 Intro to Algorithms Overview
- 2.2 Computational Thinking
- 2.4 Algorithms
- 2.5 Pseudocode
- 2.6 Flowcharting
- 2.10 What is Abstraction?
Unit 3: Data
- 3.1 Data Overview
- 3.3 Data Systems
- 3.4 Data Abstraction
- 3.6 Digital Data Representation
- 3.7 Binary Number System
- 3.10 Binary Search vs Linear Search
- 3.11 Searching & Sorting
- 3.12 ASCII
- 3.13 Data Compression
- 3.14 Data Compression and Storage
Unit 4: Programming with Scratch
- 4.1 Programming with Scratch Overview
- 4.3 Intro to Scratch
- 4.4 Project Tutorial in Scratch
- 4.8 Loops in Scratch
- 4.10 Planning a Project in Scratch
Unit 5: Programming with App Lab
- 5.1 Programming with App Lab Overview
- 5.3 Intro to App Inventor
- 5.4 Using a Tutorial to Build an App
- 5.5 App Architecture
- 5.6 Event Handling
- 5.10 Boolean Logic
Unit 6: Software Development
- 6.1 Software Development Overview
- 6.3 Software Development Cycle
- 6.4 Stages of Development
- 6.5 Ethical Issues
- 6.6 Ethical Use and Responsibility
Unit 7: Mock Create Performance Task
- 7.1 Mock Create Performance Task Overview
- 7.3 Mock Create Performance Task
SEMESTER 2
Unit 8: Programming with Python
- 8.1 Programming with Python Overview
- 8.3 Intro to Python
- 8.4 Programming with Python
Unit 9: Lists and More in Python
- 9.1 Lists and More in Python Overview
- 9.2 Strings in Python
- 9.4 Lists in Python
- 9.6 Reading Pseudocode
Unit 10: The Internet
- 10.1 The Internet Overview
- 10.3 History of the Internet
- 10.4 Internet Systems
- 10.5 Using HTML to Create a Webpage
- 10.6 What is the Internet?
- 10.7 Building a Network
- 10.9 The Need for Addressing
- 10.10 Routing & Redundancy
- 10.11 Packets
- 10.13 HTTPS & DNS
- 10.16 Fault Tolerance
- 10.17 Parallel and Distributed Computing
Unit 11: Cybersecurity
- 11.1 Cybersecurity Overview
- 11.2 Intro to Cybersecurity
- 11.3 PIIs & Cookies
- 11.4 Internet Privacy
- 11.7 Digital Footprint
- 11.8 Passwords
- 11.9 Cybersecurity & Cryptography
- 11.12 Cryptography
- 11.15 Encryption
Unit 12: Impact of Computing
- 12.1 Impact of Computing Overview
- 12.2 Machine Learning
- 12.3 Training Data & Bias
- 12.5 Algorithmic Bias
Unit 13: Create Performance Task Overview
- 13.1 Create Performance Task Overview
- 13.2 Expectations of CPT
- 13.6 Explanation of Personal Project Reference Document Use
Unit 14: APCSP Exam Review
- 14.1 APCSP Exam Review Overview
- 14.2 APCSP Exam Strategies
- 14.3 Big Idea 1 Creative Development
- 14.5 Big Idea 2 Data
- 14.7 Big Idea 3 Algorithms & Programming
- 14.9 Big Idea 4 Computing Systems & Networks
- 14.11 Big Idea 5 Impact of Computing
- 14.13 Final APCSP Review