Group classes starting in JulyGroup classes starting in JulyGroup classes starting in JulyGroup classes starting in JulyGroup classes starting in JulyGroup classes starting in JulyGroup classes starting in JulyGroup classes starting in July

AP Computer Science Principles

Duration

10 Months

Prerequisites

None

Requirements

None

Course Summary

AP Computer Science Principles is a college-level course that sets the foundation for learning the concepts and challenges of computer science and its impacts on society. Students stretch their creativity and problem-solving skills to build solutions for the issues they find important. They learn how to design, develop, and evaluate computer programs using algorithms and the JavaScript programming language. Students practice analyzing data and simulations to extract knowledge from information. While exploring computing innovations and the internet, they uncover the benefits and risks of their digital world and how to help their community through technology. AP Computer Science Principles is equivalent to a first- segment, college-level breadth course in computer science.

MAJOR TOPICS AND CONCEPTS

Segment One

  • Digital communication
  • Computer science defined
  • High-level vs. low-level programming languages
  • What is AP Computer Science Principles?
  • Computing innovations
  • Good innovators
  • Application uses
  • Positives and negatives of computing innovations
  • Unintended consequences of computing innovations
  • Collaboration
  • Removing bias
  • Interpersonal skills
  • Personally identifiable information
  • Data collection
  • Cookies
  • Cyber attacks
  • Protecting yourself online
  • Encryption
  • Number systems
  • Binary, bits, and bytes
  • Converting binary to decimal and decimal to binary
  • Lossy vs. lossless data compression
  • Purpose and function
  • Avoiding bias
  • Pseudocode
  • Inputs and outputs
  • Programming comments
  • Strings and substrings
  • Concatenation
  • Computing errors
  • AP Blocks
  • Data types and variables
  • Mathematical expressions
  • Programming constructs
  • Sequencing
  • Modulus
  • Calling functions
  • Return values
  • Functional abstraction
  • Managing complexity
  • Creating functions
  • Using programming libraries
  • Types of data
  • Correlation vs. causation
  • Metadata
  • Processing data
  • Machine learning
  • Presenting data
  • Data abstraction
  • Working with arrays

Segment Two

  • Boolean expressions
  • Logical operators
    Programming constructs
  • Condition statements
  • Functions with conditions
  • Finding min/max in arrays
  • Iterations
  • Functions with loops
  • Searching algorithms
  • Reusing algorithms
  • Writing algorithms
  • Robots
  • Boolean and conditional algorithms
  • Testing algorithms
  • Random values
  • Simulations
  • Algorithmic efficiency
  • Reasonable algorithms
  • Heuristics
  • Decidable vs. undecidable problems
  • Create Performance
  • Task overview
  • Planning
  • Programming
  • Getting help
  • Plagiarism policy
  • Programming requirements
  • Understanding the scoring rubric
  • Scoring rubric row-by-row
  • Creating the video
  • Computer systems and networks
  • The internet and World
  • Wide Web
  • Protocols
  • Fault tolerance
  • Redundancy
  • Sequential, parallel, and distributed computing
  • Execution time and efficiency
  • Citizen science
  • Crowdsourcing
Enroll Now