The Create Performance Task (guided) · Tâche de création de performance (guidée)
The Create Performance Task
- The Create Performance Task is a small program you design and build yourself.
- For the real AP exam you submit it (your code, a video, and written answers) through the AP Digital Portfolio.
- Important: the real task is graded by AP, not by this site. This lesson only helps you practice and structure it.
Épreuve créative de performance
- L'Épreuve créative de performance est un petit programme que vous concevez et construisez vous-même.
- Pour l'examen AP officiel, vous le soumettez (votre code, une vidéo et des réponses écrites) via le Portfolio Numérique AP.
- Important : l'épreuve officielle est évaluée par l'AP, pas par ce site. Cette leçon sert uniquement à vous entraîner et à structurer votre travail.
What your program must include
- A list (or other collection) that stores many values together.
- A procedure (a function) that takes at least one parameter, and that you call in your code.
- An algorithm with selection (
if) inside iteration (a loop). - Some input and some output so the program does something useful.
Ce que votre programme doit contenir
- Une liste (ou autre collection) stockant plusieurs valeurs ensemble.
- Une procédure (une fonction) prenant au moins un paramètre, que vous appelez dans votre code.
- Un algorithme comportant une sélection (
if) à l'intérieur d'une itération (une boucle). - Des entrées et des sorties pour que le programme accomplisse une tâche utile.
Pick a small idea
- Keep it simple: you only need to show the skills above, not build a huge app.
- Good ideas: grade a list of scores, total a shopping list, sort students into teams, count words.
- Choose data you understand, so you can explain it later.
Choisissez une idée simple
- Gardez-le simple : vous devez uniquement démontrer les compétences mentionnées ci-dessus, pas construire une application complexe.
- Bonnes idées : noter une liste de scores, totaliser une liste de courses, trier des élèves en équipes, compter des mots.
- Choisissez des données que vous comprenez bien, afin de pouvoir les expliquer ensuite.
A starter scaffold
- The program below has all the required parts. Read the comments to find each one.
- It uses a fixed list so it runs the same every time (no live typing needed here).
- Run it, then change the data and rules to make it your own.
Un modèle de départ
- Le programme ci-dessous contient toutes les parties requises. Lisez les commentaires pour identifier chacune d'elles.
- Il utilise une liste figée pour garantir un fonctionnement identique à chaque exécution (pas de saisie dynamique requise ici).
- Exécutez-le, puis modifiez les données et les règles pour le rendre votre propre programme.
# 1) A LIST that stores many values
scores = [72, 95, 58, 88, 40, 67]
# 2) A PROCEDURE with a PARAMETER, that returns a result
def grade_for(score):
# selection inside the procedure: choose a letter for one score
if score >= 90:
return "A"
elif score >= 70:
return "B"
elif score >= 50:
return "C"
else:
return "F"
# 3) An ALGORITHM: SELECTION (if) INSIDE ITERATION (for loop)
pass_count = 0
for s in scores: # iteration: visit every score
letter = grade_for(s) # call the procedure with a parameter
if letter != "F": # selection: is this a pass?
pass_count = pass_count + 1
print(f"score {s} -> grade {letter}") # output
# More output: a summary
print(f"{pass_count} out of {len(scores)} passed")
Make it your own
- Change the list to your own data (and try a different length).
- Change the procedure: new rule, new parameter name, or return something else.
- Change the algorithm: count something new, or keep only items that pass the
if. - Add input if you like, for example
input("Enter a name: ").
Personnalisez-le
- Remplacez la liste par vos propres données (et testez une longueur différente).
- Modifiez la procédure : nouvelle règle, nouveau nom de paramètre, ou retournez une valeur différente.
- Modifiez l'algorithme : comptez quelque chose de nouveau, ou gardez uniquement les éléments qui passent le test
if. - Ajoutez des entrées si vous le souhaitez, par exemple
input("Enter a name: ").
Written-response prompts
- Answer these about your own program (this is the kind of writing the real task asks for):
- Purpose: What does your program do, and why is it useful?
- List: What does your list store, and how does using one list (instead of many separate variables) make the program simpler to manage?
Questions de réponse écrite
- Répondez à ces questions concernant votre propre programme (c'est le type d'écriture exigé lors de l'épreuve officielle) :
- Objectif : Que fait votre programme, et pourquoi est-il utile ?
- Liste : Que stocke votre liste, et comment l'utilisation d'une seule liste (au lieu de multiples variables distinctes) rend le programme plus facile à gérer ?
More written-response prompts
- Procedure & parameter: Name your procedure. What is its parameter, and what does the procedure do with it? What does it return?
- Algorithm: Describe the algorithm inside your loop in your own words. Point to where it uses selection (
if) and where it uses iteration (the loop), and say why both are needed.
Autres questions de réponse écrite
- Procédure & paramètre : Nommez votre procédure. Quel est son paramètre, et que fait la procédure avec celui-ci ? Que retourne-t-elle ?
- Algorithme : Décrivez l'algorithme à l'intérieur de votre boucle avec vos propres mots. Pointez l'endroit où il utilise la sélection (
if) et celui où il utilise l'itération (la boucle), et expliquez pourquoi les deux sont nécessaires.
Rubric checklist
- Tick each item once your program has it:
Grille d'évaluation
- Cochez chaque élément une fois que votre programme le contient :
[ ] A list (or collection) is used in the program
[ ] A procedure is defined WITH at least one parameter
[ ] That procedure is CALLED somewhere in the program
[ ] The procedure does real work (not empty)
[ ] An algorithm uses selection (if) INSIDE iteration (a loop)
[ ] The program has input and/or output
[ ] I can explain every part in my own words
You can do this
- Start small, run it often, and fix one thing at a time.
- When every box above is ticked, you have the structure the Create Task needs.
- Remember: practice here first, then submit the real task through the AP Digital Portfolio.
Vous y arriverez
- Commencez petit, exécutez fréquemment, et corrigez une chose à la fois.
- Quand toutes les cases ci-dessus sont cochées, vous avez la structure requise pour l'Épreuve créative.
- Rappelez-vous : entraînez-vous d'abord ici, puis soumettez l'épreuve officielle via le Portfolio Numérique AP.
Common mistakes
- Plan the program's purpose first, then build in small tested pieces.
- Be ready to explain what each part of your code does.
Erreurs courantes
- Planifiez d'abord l'objectif du programme, puis construisez-le par petites étapes testées.
- Soyez prêt à expliquer ce que fait chaque partie de votre code.
Now you try
- A warm-up: assemble the required parts once, using the scaffold's example data.
- Press Check answer to confirm every required part is there.
À vous maintenant
- Un exercice d'entraînement : assemblez les parties requises une fois, en utilisant les données de l'exemple du modèle.
- Appuyez sur Vérifier la réponse pour confirmer que chaque partie requise est présente.
A warm-up that uses the scaffold's example data. (1) Keep the list scores. (2) Define grade_for(score) (one parameter) returning "A"/"B"/"C"/"F" by the rules above (>= 90, >= 70, >= 50, else "F"). (3) With selection (if) inside a loop over scores, count how many pass · passer (grade is not "F") into pass_count. (4) print a summary line. · Un échauffement utilisant les exemples de données du guide. (1) Conservez la liste scores. (2) Définissez grade_for(score) (un paramètre) retournant "A"/"B"/"C"/"F" selon les règles ci-dessus (>= 90, >= 70, >= 50, sinon "F"). (3) Avec sélection (if) dans une boucle sur scores, comptez combien réussissent (note n'est pas "F") vers pass_count. (4) print une ligne de résumé.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
The Create task also needs an algorithm you built yourself. Write top_score(scores) that returns the highest value using a loop — start with the first score, then compare each one. Do not · non use the built-in max. Then print the result. · La tâche de création nécessite aussi un algorithme que vous avez construit vous-même. Écrivez top_score(scores) retournant la valeur la plus élevée en utilisant une boucle — commencez par la première note, puis comparez chacune. N'utilisez pas la fonction intégrée max. Ensuite print le résultat.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.