# data[].attributes.body
I say sample f because the video shows a list and a input it also shows how the game is working and what the point of the game could be it show multiple things you can do on this app. The written response shows the overall purpose of the app and it shows some of the functions. This would be a passing grade because it has inputs and outputs and is shows the list. Row 1 met they requirement because it shows the overall purpose.

# data[].attributes.body
I think sample C is the best one because the video shows all different ways the game could go and had really good input/output representation. The written response was very well written in my opinion.

# data[].attributes.body
I think that sample A is the best because the project shows the code, how the game works, and showed the purpose of the game. It also had an in and output while having a conditional. I believe they pass all their rows since they met their required criteria.

# data[].attributes.body
Sample B met the requirements very well. It manages complexity by defining certain cloning actions, uses lists to keep track of each target, and has a very clear game function. The game was very self explanatory and easy to understand.

# data[].attributes.body
I think sample D was done very well. "Row 1" met its requirements because his video had input, output, and his video functionality. So did "Row 2", "Row 3".  It had numerous screens and the inputs seemed well put. It was carefully explained in the written responses. The project was done good on all previous rows of his project. When he explained what the game was supposed to do I understood it and his codes seemed correct. The student seems to understand how to program more than I could and it was very well represented.

# data[].attributes.body
Sample E shows us the steps on how the game is working , and you have a timer on it .She shows the steps o the written.and they have the items they want.The set's of the thing's they have there in the code

# data[].attributes.body
i think Sample A did the best because the video showed how the game worked and the written response had everything needed and explained the game well. The written response included the games input, output, and overall purpose of the game. The written response also includes pictures of the code, it includes variables and the purpose of the variables.

# data[].attributes.body
Analyze at 3 videos and written responses. Select one that you think is the best and share your thoughts on the reasons for your choice based on the grading rubric.

# data[].attributes.attachment_link.readable_text
The AP Computer Science Principles end-of-course exam has consistent question types and weighting every year, so you and your students know what to expect on exam day.

Section I: End-of-Course Multiple-Choice Exam
70 multiple-choice questions | 120 minutes | 70% of score | 4 answer options

57 single-select multiple-choice

5 single-select with reading passage about a computing innovation

8 multiple-select multiple-choice: select 2 answers

Section II: Create Performance Task: Written Responses
30% of score

Create performance task program code, video, and student-authored Personalized Project Reference | 9 hours in-class

4 written response prompts | 60 minutes end-of-course exam

The second section of the AP Computer Science Principles Exam consists of a through-course Create performance task where students will develop a computer program of their choice and an end-of-course written response section where students demonstrate their understanding of their personal Create performance task by answering four prompts. Students will be provided 9 hours of in-class time to complete their program, video, and develop a Personalized Project Reference.

For the written response prompts, students will have access to their Personalized Project Reference and write responses to four prompts related to their program and code contained in this reference sheet. One question from each of the prompt categories listed below will appear on the end-of-course exam. The specific prompts will vary across the different versions of the exam.

Program Design, Function, and Purpose

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:

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.

Algorithm Development

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:

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.

Errors and Testing

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:

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.

Data and Procedural Abstraction

Students should be prepared to respond to prompts about their program that assess any of the following learning objectives:

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.

Scoring Information from the 2023 Exam

# data[].attributes.attachment_link.description
Explore expectations for AP Computer Science Principles performance tasks and review scoring guidelines, samples, and information on the end-of-course exam.