5.7. Quiz App Written Response Questions Practice (NEW)

Time Estimate: 180 minutes

5.7.1. Introduction and Goals



The extended Quiz App  which you completed in the last lesson contains all of the programming requirements to satisfy the College Board's Create Performance Task scoring guidelines.

Objective: In this lesson, you will practice creating a PPR (Personalized Project Reference) and using it to answer sample Create Performance Task Written Response Questions.

5.7.2. Learning Activities

Personalized Project Reference (PPR)

For the Create Performance Task, you will need to submit a Personalized Project Reference (PPR) that includes screenshots of your code.

  1. Open your Quiz App project with the searching extension from the last lesson in MIT App Inventor.
  2. Make a copy of the PPR template.
  3. Follow the directions to paste in screenshots of your code. In App Inventor, you can right click on blocks to "Download Blocks as Image" or use a snipping tool to capture screenshots.

Written Response Questions

On the end-of-course AP CSP exam, you will respond to 4 prompts related to the code in your Personalized Project Reference. You will have access to your Personalized Project Reference while responding to these prompts. Students should be prepared to respond to prompts about their program that assess any of the following 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.

Practice for the written response questions with the following prompts which you can answer in a copy of this practice written responses document.

  1. Written Response 1: Program Design, Function, and Purpose
    1. Describe the overall purpose of the program
    2. Describe the input(s) and output(s) of the program demonstrated in the video
    3. (From 2024 Exam) Identify the expected group of users of your program. Explain how your program addresses at least one concern or interest of the users you identified.
  2. Written Response 2(a) Algorithm Development:
    1. (From 2024 exam) Consider the first iteration statement included in the Procedure section of your Personalized Project Reference. Describe what is being accomplished by the code in the body of the iteration statement.
    2. Consider the code segment in part (i) of the List section of your Personalized Project Reference that shows your list. Describe what the data contained in this list represents in your program.
    3. Consider the code segment in part (ii) of the List section of your Personalized Project Reference that shows how your list is being used. Explain in detailed steps how this code segment works. Your explanation must be detailed enough for someone else to write the code segment.
  3. Written Response 2(b): Errors and Testing:
    1. (From 2024 exam) Consider the procedure identified in part (i) of the Procedure section of your Personalized Project Reference. Write two calls to your procedure that each cause a different code segment in the procedure to execute. Describe the expected behavior of each call. If it is not possible for two calls to your procedure to cause different code segments to execute, explain why this is the case for your procedure.
    2. (From 2024 Exam): Consider the procedure and procedure call identified in parts (i) and (ii) of the Procedure section of your Personalized Project Reference. Describe the outcome that your procedure call is intended to produce. Write a new procedure call with at least one different argument value that will produce the same outcome, if possible, and explain why this procedure call produces the same outcome. If it is not possible to write a new procedure call that produces the same outcome, explain why this is not possible.
  4. Written Response 2(c): Data and Procedural Abstraction:
    1. (From 2024 Exam) Consider the procedure identified in part (i) of the Procedure section of your Personalized Project Reference. Identify the parameter(s) used in this procedure. Explain how your identified parameter(s) use abstraction to manage complexity in your program.
    2. (From 2024 Exam) Suppose another programmer provides you with a procedure called checkValidity(value) that returns true if a value passed as an argument is considered valid by the other programmer and returns false otherwise. Using the list identified in the List section of your Personalized Project Reference, explain in detailed steps an algorithm that uses checkValidity to check whether all elements in your list are considered valid by the other programmer. Your explanation must be detailed enough for someone else to write the program code for the algorithm that uses checkValidity.

      (Hint: write pseudocode that steps through your list of questions in the Quiz App and calls the checkValidity(value) function with each question in the list. Words you should use: loop, if, index, checkValidity with the correct argument. Don’t worry about what checkValidity does, just use it; we can imagine that it checks that the question has correct spelling and punctuation.)

5.7.3. Summary

In this lesson, you learned more about the College Board's requirements for the Create Performance task and practiced answering the prompts.

5.7.4. Self-Check

Vocabulary

Here is a table of some of the technical terms you've reviewed in this lesson. Hover over the terms to review the definitions.

Input
Output
Program
Algorithm
Comment
Sequence
Selection
Iteration
Procedural Abstraction
Parameter
Arguments
List

Check Your Understanding

5.7.5. Reflection: For Your Portfolio

Include your PPR and your answers from the Practice Written Responses from above in your portfolio.

You have attempted of activities on this page