
5.12. Create PT Written Response Practice (optional)¶
Note: This lesson is optional now, but will be revisited in Unit 7.
Time Estimate: 180 minutes

5.12.1. Introduction and Goals¶
|
The Language Learning Game is an educational memory app that allows users to practice learning a different language. The game's code contains all of the programming requirements to satifsy the College Board's Create Performance Task scoring guidelines. Objective: In this lesson you will practice answering the Create Performance Task prompts. |
5.12.2. Learning Activities¶
Enhancements
Before you can respond to the prompts in the Create Performance Task, you will need to understand how the game works and examine the code that has been provided for you. Complete the enhancement activities to help you get familiar with the code. Remember to work incrementally: implement, test, review, and repeat. You may use this document to track your progress as you work.
- Download the .aia file for The Learning Game.
- Import the file into MIT's App Inventor
- Try playing the game on your device and explore the code.
- Try making these three enhancements:
- Change the app's language to a different language so your app helps you learn to count in that language
- Change the initial count of numbers that are spoken to initiate the game.
- Try adding a few more numbers to the game
Create Performance Task Write-up Activity
Once you have tried the game and understand the code, answer the AP CSP Create Performance Task prompts.
- Review the Create Performance Task prompts in the AP CSP Student Directions.
- Review the Create Performance Task scoring guidelines.
- Make a copy of the submission document and record your responses.
5.12.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.12.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
- It could be written without a list, but we would need 9 global variables each with the number in them and then a random number generator to call these numbers. Now we have a built in system to generate a random sequence. It puts all the data in one location that can be accessed with an index number.
- This response does not provide enough detail regarding the random number generation for someone else to be able to recreate the program code.
- The ButtonItems list manages the complexity of my program since it gives a set of numbers the text-to-speech can say that can be sorted or ordered randomly, and easily changed if I wanted to expand the app to include a language other than French. Without this list the program would need to individually call the numbers and set them in a random order manually, which would be more difficult than using a list where the values can be easily called by the program and ordered randomly by selecting a random list item; likewise, I’d have to manually go into the procedures that start the game and other rounds without a list and adjust the values individually to expand the program.
- Correct! This response identifies a list that is being used to manage complexity in the program and also explains how the list manages complexity in the program code by explaining how it would be written without using the list.
- This list manages complexity in the program because without the lists there would not be a purpose or way for the app to function. Without this list and how it is looped through for each item so the global speakListAsText variable will give the user random numbers, an if, then, else, statement will have to be repeated for each of the numbers so the speakListAsText variable to work.
- This response does not explain how the selected list manages complexity. Saying “there would not be a purpose or way for the app to function” is inaccurate.
- This list is very important for the development of the app because it is the main structure. This list represents the input that appears on the spreen when the buttons are pressed which allows the user to know what buttons that they have already pressed. It also is the main items that are used for the game for the speech and the names of the buttons. The code would have to be written differently because you would have to list out all of the items in the button list each time you would normally put the procedure.
- Try again.
Q-1: Which of the following responses about the Learning App would earn a point for Row 3 of the scoring guidelines (managing complexity)?
- False
- Consider: Does this response discuss a list that manages complexity in the app? Does the response explain how the program would be written differently without the list?
- True
- That's right!
Q-2: True or False: The following response about the Learning App earns a point for Row 3 of the scoring guidelines (managing complexity)?
“The list speakList helps to manage complexity in the program because it is used in many different locations for similar and different reasons and is added to every round. Without this list the program would no longer be able to be infinite, within computational boundaries, because there would need to be infinite variables for an infinite game with the list it is just added to.”
- False
- That's right!
- True
- For each call the parameter startOver (i.e. startOver = true or startOver = false.) should be discussed, not the text to speech component. For each result the response should discuss the result of the procedure based on the parameter, not the text to speech component.
Q-3: True or False: The following response about the Learning App earns a point for Row 6 of the scoring guidelines (testing)?
“TextToSpeech1.Speak was in the nextRound procedure, passing in the global speakListAsText variable. The second call of the nextRound function is ChangeListToTextString and determines what to turn into speech. The call, TextToSpeech1.Speak is asking for a variable to speak for the passed parameter. The second call of the nextRound function gets the SpeakListAsText variable. The result of the first call is what to turn into speech.The result of the second call of the nextRound function is updating the list to speak.”
5.12.5. Reflection: For Your Portfolio¶
Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc where you may use File/Make a Copy to make your own editable copy.