AP Computer Science Principles

AP Computer Science Principles is an introductory college-level computing course. Students cultivate their understanding of computer science through working with data, collaborating to solve problems, and developing computer programs as they explore concepts like creativity, abstraction, data and information, algorithms, programming, the internet, and the global impact of computing.

AP CSP is unique in that it is one of the only tests that require a "Portfolio" submission before the actual test date. The Portfolio consists of digital projects answering the "Explore" and "Create" Tasks. This Portfolio submission is akin to a Google Classroom file sumbission.

Accessing the AP Digital Portfolio

The Portfolio is now accessed through AP Classroom. To get into AP Classroom meet with Mr. Salesky and ask him to provide you the code for the AP CSP Classroom, and register the class with your CollegeBoard account. Once joined, example problems, tests, and the Portfolio are available.

Note that once a file is submitted, it CANNOT BE ALTERED OR CHANGED. Make sure to review everything before submitting. Remember that the Portfolio submissions are part of the final AP score.

AP CSP Explore Task

Explore - Impact of Computing Innovations

AP CSP Explore is essentially a thorough research task—a report combined with a project. The student researches a "Computing Innovation" and analyzes how it impacts society, economy or culture, and whether its impacts are beneficial or harmful. Free response questions regarding the student's research and Computing Innovation topic are submitted through Digital Portfolio.

Along with the free responses, the student also needs to create a "Computational Artificat," or a digital illustration, representation, or explanation of the Computing Innovation’s intended purpose, its function, or its effect, and must not simply repeat the free response answers. The submitted file can either be an audio, video, or PDF file.

An example of a submitted Explore task can be found below.

For specific criteria, accepted filetypes, and detailed instructions, please always refer to the AP CSP Course Overview.

Your browser does not support pdfs, click here to download the file.

AP CSP Explore Example Video Submission

AP CSP Performance Task

Create - Applications from Ideas

AP CSP Create is almost like another GITA project. The student creates a computer program that serves a specific purpose or objective. The program's intended purpose can be anything, as long as it demonstrates "a variety of capabilities and implement several different language features that, when combined, produce a result that cannot be easily accomplished without computing tools and techniques." Any programming language is accepted, as long as the student is able to identify specific AP-defined "algorithms" in their code and as long as they can demonstrate the program in a video.

Just like the Explore task, the Create task has free responses the student must answer along with creating the program.

Note that part of the program submission is both a video and actual code submission. The code must be edited to indicate algorithms and certain criteria that answers specific CSP Create requirements (for example, the student must draw ovals and rectangles in certain areas for their code to be completely scored).

An example video of a submitted Create task can be found below.

For specific criteria, accepted filetypes, and detailed instructions explaining how to submit the video and code, please always refer to the AP CSP Course Overview.

Your browser does not support pdfs, click here to download the file.

CSP Create Example Video Submission

AP CSP Create Code Example

Algorithms and Abstractions

AP CSP emphasizes the use of algorithms and abstractions in the Create task. While the AP definitions may seem vague, algorithms and abstractions are simple concepts that are used both in everday life and in all computer programs.

An algorithm is simply a method or function that uses logic and math that takes in an input and produces a specific output. An example of an algorithm is a method that takes in two numbers and adds them; if the function addNumbers(2,2) returns 4, then addNumbers is an algorithm.

Whether it's taking in numbers and outputting a specific answer, solving a Rubik's cube, or outputting a list of items in a specific order, an algorithm is simply a set of steps of math and logic that something uses to obtain a specific output.

An abstraction is anything that takes a set of complex tasks and refers to all of the steps together as one process. In other words, an abstraction is a container of steps that people refer to by the name of the abstraction rather than the names of each of the steps.

For example, a camera is an abstraction; instead of calling the buttons, lenses, autofocus and zoom functions individually, these things collectively are referred to as a camera.

An example of an abstraction in programming is a function. Instead of reffering to all of the steps that are in the function, only the function's name is called (for example, instead of saying "a method that adds all numbers and then divides by the quantity" it is referred to as a function called average(). This allows programmers to set up complex functions, methods, and algorithms that can be called at any time by just typing in the abstraction name.

For specific criteria, accepted filetypes, and detailed instructions explaining how to submit the video and code, please always refer to the AP CSP Course Overview.

Your browser does not support pdfs, click here to download the file.