AP Computer Science Principles
AP Computer Science Principles is one of two AP Computer Science courses offered to students. The other course, AP Computer Science A, complements AP Computer Science Principles by providing a more in-depth focus on the Algorithms and Programming concepts. Students have the flexibility to take these two courses in any order or even simultaneously, depending on their school’s policies.
Course Overview
The AP Computer Science Principles course provides students with a comprehensive introduction to the vast field of computer science. Throughout the course, students will learn to design and evaluate solutions, applying computer science principles to solve problems by developing algorithms and programs. They will incorporate abstraction into their programming and leverage data to uncover new insights. Additionally, students will gain an understanding of how computing innovations and systems, including the Internet, function, while also exploring their potential impacts. The course emphasizes creating a collaborative and ethical computing culture. Notably, the AP Computer Science Principles course does not mandate a specific programming language; instead, teachers have the flexibility to select the programming language(s) that best suits their students’ needs.
A well-designed AP Computer Science Principles course that encourages collaboration on problem-solving can play a significant role in addressing issues of equity and access. By offering students the opportunity to work together on projects of their choosing, the course can broaden participation in computing while providing a strong and engaging introduction to the wide range of topics within the discipline.
College Course Equivalent
AP Computer Science A is equivalent to a an introductory, college-level breadth c course in computer science.
Prerequisites
Students enrolling in the AP Computer Science Principles course are recommended to have successfully completed a first-year high school algebra course. This should include a solid understanding of basic linear functions, function composition, and problem-solving strategies that involve multiple approaches and collaborative efforts. Additionally, students should be proficient in using the Cartesian (x, y) coordinate system to plot points on a plane. It is crucial for students and their advisers to recognize that any rigorous computer science course is built upon a foundation of mathematical reasoning, which should be established prior to taking the course. However, prior experience in computer science is not required for enrollment.
Computer Language
The course is not limited to a specific programming language and typically uses simpler languages or visual programming tools (such as Snap!, Python, JavaScript) for instruction.
Students must have access to a computer system equipped with the necessary software to create and edit programs, enabling them to practice, complete, and submit the AP Computer Science Principles performance task. The computer should have Internet access and the ability to reach the websites required for success in the course and assessments. The school is responsible for ensuring that each student has access to the AP Computer Science Principles Exam Reference Sheet and the performance task directions. Additionally, the school must provide each student with a college-level textbook or other curricular resources deemed necessary by the teacher for use both inside and outside the classroom.
Create Performance Task Requirement
The Create Performance Task is a critical component of the AP Computer Science Principles course, designed to assess your ability to apply the skills and knowledge you’ve acquired throughout the course. This task requires you to develop a computer program and demonstrate your understanding of computer science principles through a series of related activities.
Key Components of the Create Performance Task:
- Program Development:
- Design a Program: You will design and implement a computer program of your choice, addressing a specific problem or creative project.
- Code Implementation: Write the code necessary to bring your program to life, ensuring it functions as intended and meets the goals you’ve set.
- Testing and Debugging: Test your program to identify and fix any errors or bugs. This step is crucial to ensure your program runs smoothly and correctly.
- Video Submission:
- Program Demonstration: Record a short video (no longer than 1 minute) demonstrating your program in action. The video should clearly show how your program operates and highlight its key features.
- File Requirements: Make sure the video meets the file type, size, and length requirements specified by the AP guidelines.
- Written Response:
- Program Design, Function, and Purpose: You will respond to prompts that require you to explain the purpose of your program, how it functions, and the design choices you made.
- Algorithm Development: Discuss the algorithms used in your program, explaining how they work and why you chose them.
- Errors and Testing: Describe the testing process, including any errors encountered and how you addressed them.
- Data and Procedural Abstraction: Explain how your program uses data and procedural abstractions to manage complexity.
- Personalized Project Reference:
- Documentation: Create a personalized project reference that includes your program code, explanations, and any relevant documentation. This reference will be used during the AP exam when responding to related questions.
- Submission Requirements: Ensure that your project reference meets the AP guidelines and is submitted as final by the deadline.
Tips for Success:
- Plan Ahead: Start early to ensure you have ample time to design, develop, and test your program.
- Practice: Familiarize yourself with the submission process, including creating video demonstrations and writing clear, concise responses to prompts.
- Understand the Guidelines: Thoroughly review the performance task directions and guidelines to ensure compliance with all requirements.
- Cite Sources: Properly acknowledge any code, media, or data that you did not create yourself. Failure to do so could result in penalties for plagiarism.
The Create Performance Task is an opportunity to showcase your creativity, problem-solving abilities, and understanding of computer science concepts. Approach it with care and attention to detail to maximize your success.
COMPUTATIONAL THINKING PRACTICES
The following table outlines the computational thinking practices that students should develop throughout the AP Computer Science Principles course. These practices serve as the foundation for tasks on the AP Exam. Each learning objective within the big idea guides is aligned with a specific skill from one of these practices. Teachers should ensure that these practices are integrated with the course content and reinforced with sufficient repetition, so students are well-prepared to apply these skills on the AP Exam. For more detailed guidance on teaching these computational thinking practices, refer to the Instructional Approaches section of this publication.
AP COMPUTER SCIENCE PRINCIPLES
Computational Thinking Practices: Skills
| Practice | Skills |
| Practice 1: Computational Solution Design | 1.A: Investigate the situation, context, or task. |
| 1.B: Determine and design an appropriate method or approach to achieve the purpose. | |
| 1.C: Explain how collaboration affects the development of a solution. | |
| 1.D: Evaluate solution options. | |
| Practice 2: Algorithms and Program Development | 2.A: Represent algorithmic processes without using a programming language. |
| 2.B: Implement and apply an algorithm. | |
| Practice 3: Abstraction in Program Development | 3.A: Generalize data sources through variables. |
| 3.B: Use abstraction to manage complexity in a program. | |
| 3.C: Explain how abstraction manages complexity. | |
| Practice 4: Code Analysis | 4.A: Explain how a code segment or program functions. |
| 4.B: Determine the result of code segments. | |
| 4.C: Identify and correct errors in algorithms and programs, including error discovery through testing. | |
| Practice 5: Computing Innovations | 5.A: Explain how computing systems work. |
| 5.B: Explain how knowledge can be generated from data. | |
| 5.C: Describe the impact of a computing innovation. | |
| 5.D: Describe the impact of gathering data. | |
| 5.E: Evaluate the use of computing based on legal and ethical factors. | |
| Practice 6: Responsible Computing | 6.A: Collaborate in the development of solutions. |
| 6.B: Use safe and secure methods when using computing devices. | |
| 6.C: Acknowledge the intellectual property of others. |
Note: All computational thinking practices except Computational Thinking Practice 6 are assessed in the multiple-choice section of the AP Exam.
Course Content
The AP Computer Science Principles course aligns with the key objectives outlined by computer science educators, professors, and researchers for an introductory college-level computer science course:
- Computational Solution Design: Design and evaluate computational solutions with a clear purpose.
- Algorithms and Program Development: Develop and implement algorithms.
- Abstraction in Program Development: Create programs that incorporate abstractions.
- Code Analysis: Evaluate and test algorithms and programs.
- Computing Innovations: Explore and investigate computing innovations.
- Responsible Computing: Foster an inclusive, safe, collaborative, and ethical computing culture.
Students hone their computer science skills by designing and developing programs that address real-world problems and by exploring computing innovations they use or wish to better understand.
AP Computer Science Principles: Big Ideas Overview
| Big Idea | Description | Topics Covered | Exam Weight |
|---|---|---|---|
| Big Idea 1: Creative Development | Learn the importance of collaboration in developing programs and how to use an iterative process in your work. | – Collaboration – Program design and development | 10%–13% of exam score |
| Big Idea 2: Data | Explore how computers handle data and how data can be used to generate new information and solve problems. | – Data compression – Extracting information from data | 17%–22% of exam score |
| Big Idea 3: Algorithms and Programming | Learn how to use algorithms and abstractions to create programs that solve problems or express your creativity. | – Developing algorithms – Simulations – Algorithmic efficiency | 30%–35% of exam score |
| Big Idea 4: Computer Systems and Networks | Explore how computer systems and networks function, and how dividing tasks among multiple computers can enhance processing speed. | – The Internet – Parallel and distributed computing | 11%–15% of exam score |
| Big Idea 5: Impact of Computing | Examine the effects of computing on societies, economies, and cultures, and consider the legal and ethical responsibilities of programmers. | – The digital divide – Computing bias – Safe computing | 21%–26% of exam score |
The above table summarizes the focus, topics, and the percentage of the exam score they represent.
Exam Overview
The AP Computer Science Principles Exam evaluates students’ understanding of the computational thinking practices and learning objectives defined in the course framework. The exam is divided into two main components: the Create performance task and the end-of-course AP Exam.
- Create Performance Task:
- Requires a minimum of 9 hours of dedicated class time.
- Students must complete and submit this task as part of their overall assessment.
- End-of-Course AP Exam:
- Duration: 3 hours.
- Structure:
- Multiple-Choice Section: 70 questions, including:
- Single-select questions.
- Single-select questions based on a reading passage about a computing innovation.
- Multi-select questions.
- Written Response Section: 2 questions directly related to the Create performance task, divided into four distinct prompts:
- Written Response 1
- Written Response 2(a)
- Written Response 2(b)
- Written Response 2(c)
- Students can use their student-authored Personalized Project Reference to answer these prompts.
- Multiple-Choice Section: 70 questions, including:
- Exam Reference Sheet:
- Provided during the exam, this sheet includes both block-based and text-based programming constructs. It serves as a standardized tool to communicate programming concepts throughout the exam.
Detailed information on the exam’s structure, including the weighting of sections and timing, can be found below:
AP Computer Science Principles Exam Structure
| Section | Question Type/Component | Number of Questions | Exam Weighting | Timing |
| I | Multiple-choice questions | 70 | 70% | 120 minutes |
| Single-select | 57 | |||
| Single-select with reading passage about a computing innovation | 5 | |||
| – Multi-select | 8 | |||
| End-of-course AP Exam | ||||
| II | Create Performance Task | See Below | 30% | See Below |
| – Program code, video, and Personalized Project Reference | At least 9 hours in class | |||
| – Written response questions related to the Create performance task | 2 | 60 minutes | ||
| End-of-course AP Exam | ||||
This table provides a clear breakdown of the AP Computer Science Principles exam, showing the section, question types, number of questions, exam weighting, and timing for each part of the assessment.
AP Computer Science Principles Exam: Section II Overview
The second section of the AP Computer Science Principles Exam evaluates Computational Thinking Practices 1, 2, 3, and 4 through six specific rubric rows:
- Course Project: Video
Assesses students’ ability to implement and apply an algorithm. (Skill 2.B) - Course Project: Program Requirements
Evaluates students’ ability to implement and apply an algorithm. (Skill 2.B) - Written Response 1: Program Design, Function, and Purpose
Assesses students’ ability to investigate the situation, context, or task. (Skill 1.A) - Written Response 2(a): Algorithm Development
Assesses students’ ability to explain how a code segment or program functions. (Skill 4.A) - Written Response 2(b): Errors and Testing
Evaluates students’ ability to identify and correct errors in algorithms and programs, including error discovery through testing. (Skill 4.C) - Written Response 2(c): Data and Procedural Abstraction
Assesses students’ ability to explain how abstraction manages complexity. (Skill 3.C)
Create Performance Task
The second section of the AP Computer Science Principles Exam involves a through-course performance task where students will develop a computer program of their choice. This task includes a written response section that is completed during the end-of-course AP exam.
- In-Class Development:
Students are given 9 hours of in-class time to complete their program, create a video, and prepare a Personalized Project Reference. - End-of-Course Written Response:
During the AP exam, students will respond to four distinct prompts: Written Response 1, Written Response 2(a), Written Response 2(b), and Written Response 2(c). These prompts are related to the code included in their Personalized Project Reference, which students can use while answering the questions.
The four categories below correspond to the four prompts students will address in their written responses.
Written Response Prompts and Related Learning Objectives
| Prompt Category | Related Learning Objectives |
|---|---|
| Written Response 1: Program Design, Function, and Purpose | – CRD-2.A: Describe the purpose of a computing innovation. – CRD-2.B: Explain how a program or code segment functions. – CRD-2.C: Identify input(s) to a program. – CRD-2.D: Identify output(s) produced by a program. – CRD-2.E: Develop a program using a development process. – CRD-2.F: Design a program and its user interface. – CRD-2.G: Describe the purpose of a code segment or program by writing documentation. |
| Written Response 2(a): Algorithm Development | – CRD-2.B: Explain how a program or code segment functions. – AAP-2.E.b: Evaluate expressions that use relational operators. – AAP-2.F.b: Evaluate expressions that use logic operators. – AAP-2.H.b: Determine the result of conditional statements. – AAP-2.J: Express an algorithm that uses iteration without using a programming language. – AAP-2.K.b: Determine the result or side effect of iteration statements. – AAP-2.L: Compare multiple algorithms to determine if they yield the same side effect or result. – AAP-2.M.a: Create algorithms. – AAP-2.M.b: Combine and modify existing algorithms. |
| Written Response 2(b): Errors and Testing | – CRD-2.I.a: Identify the error. – CRD-2.I.b: Correct the error. – CRD-2.J: Identify inputs and corresponding expected outputs or behaviors that can be used to check the correctness of an algorithm or program. |
| Written Response 2(c): Data and Procedural Abstraction | – AAP-1.D.a: Develop data abstraction using lists to store multiple elements. – AAP-1.D.b: Explain how the use of data abstraction manages complexity in program code. – AAP-2.O.a: Write iteration statements to traverse a list. – AAP-2.O.b: Determine the result of an algorithm that includes list traversals. – AAP-3.B: Explain how the use of procedural abstraction manages complexity in a program. |
Create Performance Task: Written Response Questions
| Prompt Category | Sample Prompt |
|---|---|
| Written Response 1: Program Design, Function, and Purpose | Identify an expected user of your program. Describe one way your program’s design meets the needs of this user. |
| Written Response 2(a): Algorithm Development | Consider the first iteration statement included in the Procedure section of your Personalized Project Reference. Identify the number of times the body of your iteration statement will execute. Describe a condition or error that would cause your iteration statement to not terminate and cause an infinite loop. If no such condition or error exists, explain how the loop could be modified to cause an infinite loop. |
| Written Response 2(b): Errors and Testing | Consider the procedure included in part (i) of the Procedure section of your Personalized Project Reference. Describe a change to your procedure that will result in a run-time error. Explain why this change will result in a run-time error. |
| Written Response 2(c): Data and Procedural Abstraction | Suppose you are provided with a procedure called isEqual(value1, value2). The procedure returns true if the two parameters value1 and value2 are equal in value and returns false otherwise. Using the list you identified in the List section of your Personalized Project Reference, explain in detailed steps an algorithm that uses isEqual to count the number of times a certain value appears in your list. Your explanation must be detailed enough for someone else to write the program code. |
AP Computer Science Principles Create Performance Task Terminology
- Algorithm:
A finite set of instructions designed to accomplish a specific task. Algorithms are typically constructed using combinations of sequencing, selection, and iteration. - Arguments:
The values passed to the parameters when a procedure is called. - Collection Type:
A structure that aggregates elements into a single unit. Examples include databases, hash tables, dictionaries, sets, or any other type that groups elements together. - Data Stored in a List:
Data input into a list can be initialized directly or computed from other variables or list elements. - Input:
Data sent to a computer for processing by a program. Inputs can be tactile (through touch), audible, visual, or text-based. An event associated with an action provides input data to a program. - Iteration:
A repetitive portion of an algorithm that continues until a specified condition is met or for a predetermined number of times. Recursion is a form of iteration. - List:
An ordered sequence of elements, allowing multiple related items to be represented by a single variable. Depending on the programming language, lists may be referred to as arrays or arraylists. - List Being Used:
Refers to a program creating new data from existing data or accessing multiple elements within a list. - Output:
Data sent from a program to a device. Outputs can be tactile, audible, visual, motion-based, or text-based. - Parameter:
An input variable of a procedure. Explicit parameters are defined in the procedure header, while implicit parameters are set in anticipation of a procedure call, often through interaction with a graphical user interface. - Procedure:
A named group of programming instructions that may include parameters and return values. Depending on the programming language, procedures may be known as methods, functions, or constructors. - Program Code Segment:
A collection of program statements that are part of a program. For text-based languages, these statements should be continuous and within the same procedure. For block-based languages, the statements should be contained within the same starter block or “Hat” block. - Program Functionality:
The behavior of a program during execution, often described by how a user interacts with it. - Purpose:
The problem being solved or the creative interest pursued through the program. - Selection:
The process of determining which parts of an algorithm are executed based on whether a condition is true or false. Try/exception statements are a form of selection. - Sequencing:
The application of each step in an algorithm in the order specified by the code statements. - Student-Developed Procedure/Algorithm:
Program code written (individually or collaboratively) by the student who submitted the response. While calls to existing program code or libraries can be included, they are not considered student-developed. Event handlers, which are built-in abstractions in some languages, are not considered student-developed either. In some block-based programming languages, event handlers begin with “when.”
Guidelines for Completing the Performance Task
Academic Integrity and Plagiarism Policy
This policy outlines the expectations for academic integrity and addresses plagiarism in completing the Create Performance Task.
- Plagiarism:
Using program code, media (e.g., video, images, sound), data, information, or evidence created by someone else or generated by AI tools in your program or code segments without proper acknowledgment (via citation, attribution, or reference) is considered plagiarism. Any student found to have plagiarized will receive a score of 0 on the Create performance task, including the written response prompts on the end-of-course AP Exam.Teachers are responsible for ensuring that students understand how to ethically incorporate external ideas and give appropriate credit to original creators or sources, as well as the consequences of plagiarism. - Acceptable Generative AI Use:
Students may use generative AI tools as supplementary resources to understand coding principles, assist in code development, and debug their work. This responsible use is in line with current guidelines for peer collaboration on code development.However, students should be aware that AI-generated code may be incomplete, introduce biases, contain errors, or result in inefficiencies or complexities. It is the student’s responsibility to thoroughly review and understand any AI-assisted code, ensuring its proper functionality. Additionally, students must be prepared to explain their code in detail during the end-of-course AP Exam.
Preparing for Final Submission
- Collaboration:
Students are not allowed to collaborate on the creation of the video or the Personalized Project Reference. - Personalized Project Reference:
The Personalized Project Reference must not include course content or comments within the code or any other part of the reference. Including course content or comments in the reference will result in a score of 0 on the Create performance task, including the written response prompts on the end-of-course AP Exam.
Attestations
During the final submission process in the AP Digital Portfolio, students will be required to confirm that they have adhered to the Performance Task guidelines and have not plagiarized their work. Each of the three components of the Create performance task must be submitted as final to be eligible for scoring.
Furthermore, if students fail to submit their Personalized Project Reference by the deadline, they will not have access to this resource on exam day when completing the written response section.
Preparing for the Performance Task
Before beginning the performance task, you should:
- Build Relevant Knowledge and Skills:
Acquire the content knowledge and skills necessary for success on the performance task. This includes understanding the iterative development process, effective collaboration strategies, developing data and procedural abstractions, describing an algorithm’s purpose, explaining how it functions, and identifying test data to demonstrate different algorithm outcomes. A typical development process involves exploration, investigation, reflection, design, implementation, and testing of your program. - Review Task Directions and Guidelines:
Carefully go through the performance task directions and guidelines to ensure you understand the requirements. - Brainstorm Potential Projects:
Think of problems that programming can address or special interests that programming can help you explore and develop. - Seek Guidance as Needed:
If necessary, consult with your teacher or AP Coordinator to define your focus and choose appropriate topics. - Prepare for Collaboration:
Be ready to work with your peers when necessary, as collaboration is often a key component of the task. - Practice and Discuss:
Engage in practice exercises and discussions related to the performance task, including possible written response prompts that might appear on the end-of-course AP Exam. - Understand Teacher Support Boundaries:
Familiarize yourself with the type of assistance your teacher can and cannot provide during the actual performance task. Take advantage of the opportunity to receive guidance and feedback during practice sessions. - Learn Proper Citation Methods:
Ensure you know how to correctly cite any media or program code, including APIs or open-source code, used in your project. Any media or code that wasn’t created by you must be properly credited, and any existing program code must be extended by adding new functionality. - Review Sample Responses:
Check out examples of responses on the AP Computer Science Principles Exam page. Remember, you cannot submit any work from AP Central samples, curriculum provider samples, or practice performance tasks as your final submission. - Understand the Scoring Process:
Be aware that the scoring process during the AP Reading may differ from classroom grading, and your AP score may not align with your classroom grade. - Familiarize Yourself with Submission Requirements:
Read through the AP Digital Portfolio submission requirements and process, paying attention to file type, size, and length instructions to ensure your work is properly submitted for AP scoring. This process includes:- Uploading your files to the correct section of the task
- Submitting each component as final
- Completing the College Board attestations to confirm the originality of your work
All three components must be submitted as final by the deadline posted on AP Central. Only files submitted as final will be sent for scoring. If you fail to submit your Personalized Project Reference by the deadline, you will not have access to it on exam day when completing your written response section.
Preparation Tips for the Performance Task
- Practice Creating a Video:
Record a video of your program running, ensuring it meets the file type, size, and length requirements. - Practice Making Readable Screen Captures and PDF Files:
Create clear and legible screen captures of your program code and convert them into a PDF file for submission:- For text-based program code, you can use the print command to save your code as a PDF file or copy and paste your code into a text document and then convert it to PDF.
- For block-based program code, create screen captures that include only your program code. Paste these images into a document and convert it to PDF. Ensure the screen captures are not blurry and that the text is at least 10 pt font size.
- For the Personalized Project Reference, make sure screen captures are clear, with text at least 10 pt font size. Do not include any course content or comments with the program code in these captures. Including such content in the Personalized Project Reference may result in a score of 0 for the Create performance task.
- Understand Final Submission Rules:
Be aware that once you submit your work as final to the AP Digital Portfolio, you cannot revise it. - Review and Practice Written Responses:
Familiarize yourself with the categories for each written response prompt on the end-of-course AP Exam. These prompts will relate to your Create performance task. Practice writing responses to similar questions to prepare.
Completing the Performance Task
To successfully complete the performance task, you must:
- Submit All Components:
Ensure that all three components of your performance task are submitted as final before the deadline. The submission deadline can be found on the AP Computer Science Principles Exam page on AP Central. Only files marked as final will be sent for scoring. If you fail to submit your Personalized Project Reference by the deadline, you will not have access to this resource on exam day for your written response section. - Follow a Schedule:
Create and adhere to a schedule that allows sufficient time to complete and upload all components of the performance task before the deadline. - Read Task Directions Carefully:
Thoroughly review the performance task directions to ensure you understand all requirements. - Apply Course Knowledge:
Utilize the computer science knowledge and skills you have acquired throughout the course when completing the performance task. - Acknowledge Sources to Avoid Plagiarism:
Use proper citation practices when incorporating program code, media (e.g., images, videos, sound), or data created by others or generated with AI tools. If you use code not written by you—such as starter code provided by your teacher, APIs, open-source code, or AI-generated code—you must enhance the program by adding new functionality. Examples of proper attribution include:- For teacher-provided code: Add a comment stating, “This code was provided as starter code by my teacher.”
- For API or open-source code: Add a comment stating, “This code was made freely available by [source of code].”
- For AI-assisted code: Add a comment stating, “This code was generated using [Generative AI Tool Name].”
- Add Comments to Your Program Code:
Include comments in your program code to explain the functionality of code segments or to acknowledge the authors of media, data sources, or program code:- If your programming environment supports comments, use this feature to give credit and clarify code functionality.
- If comments cannot be added directly in the programming environment, you can include them in a document editor when capturing your program code for submission.
Once you have begun the official administration of the performance task, you are not permitted to:
- Seek External Assistance:
Do not seek help from anyone other than your collaborative partner(s) for writing, revising, amending, or correcting your work. This includes debugging the program, designing or implementing functionality, testing the program, or making revisions. - Submit Ineligible Work:
Do not submit practice performance tasks or any work that has been revised, amended, or corrected by someone other than your collaborative partner(s) or cited program code for AP Exam scoring. - Include Course Content in Personalized Project Reference:
Ensure that no course content or comments are included in the screen captures of your program code for the Personalized Project Reference. Any course content or comments present during development must be removed before taking screen captures. Including such content will result in a score of 0 for the written response portion of your exam. - Collaborate on Video or Personalized Project Reference:
You may not collaborate with others when creating your video or your Personalized Project Reference. - Revise After Submission:
You are not allowed to revise your work once it has been submitted as final to the AP Digital Portfolio.
However, during the official administration of the performance task, you may:
- Collaborate with Partners:
You may work with your partner(s) on the ideation and development of your program code, including debugging and error testing, if you choose to do so. Note: Collaboration is not permitted for creating the video or the Personalized Project Reference. - Follow a Timeline:
Adhere to a timeline and schedule for completing the performance task. - Seek Assistance with Group Dynamics:
If one of your collaborative partners is directly impeding the completion of the performance task, you may seek assistance from your teacher or AP Coordinator in forming groups and resolving collaboration issues. - Ask for Clarification:
If you do not understand the directions, you may seek clarification from your teacher or AP Coordinator regarding the program and submission requirements for the performance task. - Work Outside Class Time:
You are allowed to work on the performance task outside of designated class time. - Resolve Technical Issues:
You may seek help from your teacher or AP Coordinator to resolve technical issues, such as a failing workstation, network access problems, saving files, or creating movie files. - Keep a Programming Journal:
Maintain a journal documenting the design choices made during the development of your program code or code segment and the impact of these decisions on the program’s functionality.
Comparing AP Computer Science Principles and AP Computer Science A
Are you passionate about creating things and solving real-world problems with technology? If so, you might be considering which AP computer science course is right for you. In this post, we’ll break down the similarities and differences between AP Computer Science Principles (AP CSP) and AP Computer Science A (AP CSA) to help you make an informed decision.
What is AP Computer Science Principles?
AP Computer Science Principles is a broad course that covers a wide range of topics. In AP CSP, you’ll explore how computers and technology shape our daily lives, from the apps we use to the way our personal data is collected, and even the impact of AI, both positive and negative. Students in this course will learn to:
- Collaborate on projects to solve real-world issues
- Design programs to address specific problems
- Analyze computational work
- Communicate ideas about technology
You can learn more about the course structure and exam format, and you can also watch a webinar featuring students who have taken AP CSP.
What is AP Computer Science A?
AP Computer Science A focuses on more advanced programming challenges. In AP CSA, you’ll dive deep into Java, the most in-demand programming language, and develop skills that computer scientists use to create innovative solutions to today’s problems. Key skills emphasized in this course include:
- Designing computer programs
- Writing the code necessary to implement those programs
- Testing and debugging program code
- Documenting and explaining how program code works
You can explore more about the course structure and exam format, and you can watch a webinar featuring students who have taken AP CSA.
How are these two courses similar?
AP Computer Science Principles and AP Computer Science A share several key characteristics:
- Both provide a solid introduction to programming content and skills.
- Both encourage continued study and interest in the field of computer science.
- Both require familiarity with concepts from Algebra 1.
- Neither course requires prior experience in computer science or programming before enrollment.
How are these two courses different?
While AP Computer Science Principles and AP Computer Science A have some similarities, they also have important differences:
| AP Computer Science Principles | AP Computer Science A |
|---|---|
| Your teacher can choose which programming language you’ll learn in the course. | Your teacher is required to use the Java programming language. |
| You’ll explore broader concepts in computer science, including data analysis, how the internet works, and the impacts of computer science in areas like cybersecurity. | You’ll dive deeper into programming with Java, focusing on more advanced programming concepts. |
| The AP Exam includes both a traditional paper-and-pencil section and a performance task completed during the school year. The paper-and-pencil section consists of multiple-choice questions, while the performance task requires you to write a program and answer questions about it. | The AP Exam is a traditional paper-and-pencil exam with multiple-choice and free-response questions. You’ll need to demonstrate your Java programming knowledge by writing code in the free-response section. |
Give Our Students an Edge with AP Learning
In the 2024 AP exams, students from Amazing Education in the Greater Vancouver area were predominantly from the Vancouver, West Vancouver, Richmond, Burnaby, South Surrey, and Langley school districts. This included students from well-known private and public schools that offer AP and IB programs, as well as high school students from schools that do not offer AP and IB programs. These students studied diligently, and under the meticulous guidance of Amazing Education’s many perfect-score AP teachers, they achieved an overall 98% high pass rate with perfect AP exam scores.

PHASE 1:
COURSE BASICS
Our AP instructor will guide learners through the fundamentals learning of this AP course using a comprehensive collection of learning materials, along with a personalized syllabus and learning plan.

PHASE 2:
Practical Training
Our AP instructor will carefully select real past exam questions to first inspire learners to actively think about various solutions to specific problems based on their prior study. Then, leveraging the instructor’s extensive academic knowledge and teaching experience, they will provide further insights to address learners’ questions or learning difficulties. Ultimately, this process will help learners progress to deeper and more advanced levels of study.

PHASE 3:
AP MOCK EXAM
AP mock exams help students assess their knowledge, practice time management, and gain familiarity with the exam format, ultimately building confidence and improving performance for the actual test.
