7.10. ASSESSMENT: AP Create 2¶
Time Estimate: 9 hours (12 45 minute classes) minimum as of 2024
Follow these directions if you are taking CSP as an AP course. If you are in a non-AP CSP course, please go to the next lesson for Non-AP Create directions.
7.10.1. Introduction and Goals¶
The AP CSP Exam has two sections: an end-of-course exam and the Create performance task. For the Create project, you will work with a partner to design a socially useful interactive app that demonstrates algorithms, data, and procedural abstractions. Although you may start your project together, some of your algorithms must be developed independently. As you develop your project keep track of significant errors and bugs that you encountered and how you solved or debugged them in a journal. Be sure to follow an iterative process when developing your app. After creating your app, you will submit your code printout, a video demonstrating your code, and a Personalized Project Reference containing screen captures of your list and procedures to the AP Digital Portfolio site by April 30th.
Before beginning, please review the following:
- Create Performance Task Description and Instructions
- Create Task Videos in AP Classroom . To access these videos, navigate to the Course Guide section in the left navigation pane of the AP Classroom homepage, select the Overview page, and then click on the Student Resources header to expand the list of available resources.
NEW as of 2024, you no longer need to turn in a Create written response to the AP Digital Portfolio submission site. However, students should still complete the Create written response to prepare for the AP exam. The Create performance task still consists of three components—program code, video, and instead of the written response, a student-authored Personalized Project Reference containing screen captures of their list and procedure. You will use your Personalized Project Reference to answer questions during the AP exam. There are also some written response practice questions in Unit 8 and in the AP Classroom.
Keep in mind that for the Create task you need to include the following in your app:
- a list
- your own procedure with parameters
- a loop iterating through the list
- a conditional (if block)
7.10.2. Learning Activities¶
Warm Up Activity: Create Grading Rubric
Use the Create Performance Task Scoring Guidelines to grade the two Create Performance Task Samples to familiarize yourself with the rubric and Create write-ups.
Iterative Design Thinking Process
Use an Iterative Design Thinking Process to develop your app. The following outline is an example of how you could apply the design thinking process to the development of your Create project. Each iteration should include stepping through the applicable Empathize, Define, Ideate, Prototype, and Test stages. Additional information about each iteration is provided below the outline.
Iterations
|
Iteration 1: Paper Prototype
Before you start creating your app in MIT App Inventor, you will brainstorm ideas on paper with a partner and present an elevator pitch to your class. When brainstorming, keep in mind that for the Create project, your project should use a List and if needed a database like TinyDB for handling data, as well as procedures with parameters that you have defined and sequence, selection, and iteration. Complete the following:
- Description of Problem [Empathize, Define, and Ideate]: Working in pairs, think about problems in your community and how an app might help to solve those problems or to help people in your community. Who is the target audience or users who will be using the app? What problem does the app address? How does the app address the problem? What data might your app need? What data would the app need as input and provide as output?
- Paper Prototypes [Prototype]: Create paper prototypes of three different ideas from your brainstorm. Describe what each UI element will do. Clearly label input and output.
- Elevator Pitch: Present a short (2-3 minute) elevator pitch of your project idea to the class. The pitch could follow this template: [name of app] is a [kind of thing] for [the people who would use it] and [problem it would solve] that, unlike [similar apps] is able to [the major distinguishing feature of your app].
- Feedback [Test]: Other students should provide feedback either by completing this feedback form or by answering the following questions. Is the app presented socially useful why or why not? What is a strength of the proposed app? What suggestions do you have to improve the app?
Iteration 2: Minimal App
Working in pairs, create a minimal working app. Remember that for the Create project, your project should use a List and if needed a database like TinyDB for handling data, as well as procedures with parameters that you have defined and sequence, selection, and iteration. Complete the following:
- Minimal App [Prototype, Test]: Work with your partner to begin building an initial prototype with minimal functionality. Take your paper prototype from Iteration #1 and determine what functionality should be created first during Iteration #2 and what can be added in later iterations. Use this Mobile App Planning Document to help you. In MIT App Inventor, begin designing the user interface based on your paper prototype and programming some initial functionality and features. For the final version of your app, you should be using a list and a procedure with a parameter. For this iteration, focus on building one or the other. Stop to test often (after approximately adding one or two features or functionalities).
- Journal [Define and Ideate]: As you work, keep a journal of your development process and how you programmed each of the features. Complete a journal entry using this template.
Iteration 3: Intermediate App
- Intermediate App [Prototype, Test]:Continue to iteratively add and test new features for your app - add one or two features/functionality and then test. By the end of this iteration, you should have implemented at least 2 of the following: a list, procedure, or algorithm.
- Journal [Define and Ideate]: As you work, keep a journal of your development process and how you programmed each of the features. Complete a journal entry using this template.
Iteration 4: Advanced App
- Advanced App [Prototype, Test]: Iteratively add and test new features for your app, meeting the grading guidelines. By the end of this iteration, you should have implemented at least 3 of the following: a list, a procedure with parameter, and an algorithm with sequence, selection, and iteration
- Journal [Define and Ideate]: As you work, keep a journal of your development process and how you programmed each of the features. Complete a journal entry using this template.
Iteration 5: Additional Features
- Additional Features [Prototype, Test]: Iteratively add and test new features for your app. Your finished app should include user or file input, output, a list, a procedure with a parameter, and an algorithm with selection (if) and iteration (loop).
- Journal [Define and Ideate]: As you work, keep a journal of your development process and how you programmed each of the features. Complete a journal entry using this template.
7.10.3. AP Create Task Submission: Code, Video, and Personalized Project Reference¶
If you are taking the course for AP credit, please watch consult the AP Digital Portfolio Student Guide to learn how to submit your Create project to the AP College Board Digital Portfolio site. You must submit your Create Performance Task by April 30th and include your AP number which you will receive from your AP coordinator.
For the Create project, you will submit the following to the AP Digital Portfolio site. You may use the Mobile CSP Create Performance Task template or the simpler PPR template as a guide. The Mobile CSP template contains the new PPR requirements as well as practice written response questions which we encourage you to complete (although you will not upload them) in order to prepare for the written response questions that are now in the AP CSP exam. There are also some written response practice questions in Unit 8 and the AP Classroom.
- COMPONENT A: PROGRAM CODE - Submit one PDF file that contains all of your program code (including comments). Your code should include user or file input, output, a list, a procedure with a parameter, selection and iteration blocks. Include comments or acknowledgments for any part of the submitted program code that has been written by someone other than you and/or your collaborative partner(s). In App Inventor, you can right click to "Download Blocks as Image" or use a snipping tool to capture screenshots. You can paste these images in a Google doc and then export it as a pdf.
- COMPONENT B: VIDEO - Create a 1 minute anonymous video presentation providing a demo of your working app. See How To: Create an App Video for help. The video should show your running program, including input to your program, at least one aspect of the functionality of your program, and output produced by your program. Collaboration is not allowed during the development of your video. The video must not contain any distinguishing information about yourself nor voice narration (though text captions are encouraged). The video must be in either .mp4, .wmv, .avi, or .mov format and may not exceed one minute in length and 30MB in file size.
- COMPONENT C: PERSONALIZED PROJECT REFERENCE - You will independently collect screenshots showing your list and procedures to upload to the AP College Board Digital Portfolio Site. Your code segments should not include any comments and should not be blurry. You will use this reference sheet to answer written response prompts on exam day.
- Procedure: The first program code segment must be a student-developed procedure that:
- Defines the procedure’s name and return type (if necessary)
- Contains and uses one or more parameters that have an effect on the functionality of the procedure
- Implements an algorithm that includes sequencing, selection, and iteration
- Procedure Call:The second program code segment must show where your student-developed procedure is being called in your program.
- List: This program code segment must show how data have been stored in the list. Include the list variable declaration and how data is added to the list if necessary.
- List Use: This program code segment must show the data in the same list being used, such as creating new data from the existing data or accessing multiple elements in the list, as part of fulfilling the program’s purpose.
- Procedure: The first program code segment must be a student-developed procedure that: