The Create Performance Task (guided) · La tarea de creación (guiada)
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.
La Tarea de Rendimiento Crear
- La Tarea de Rendimiento Crear es un pequeño programa que diseñas y construyes tú mismo.
- Para el examen AP real, lo envías (tu código, un video y respuestas escritas) a través del Portafolio Digital AP.
- Importante: la tarea real es calificada por AP, no por este sitio. Esta lección solo te ayuda a practicar y estructurarla.
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.
Lo que debe incluir tu programa
- Una lista (u otra colección) que almacene muchos valores juntos.
- Un procedimiento (una función) que tome al menos un parámetro, y que llames en tu código.
- Un algoritmo con selección (
if) dentro de iteración (un bucle). - Alguna entrada y alguna salida para que el programa haga algo útil.
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.
Elige una idea pequeña
- Manténgalo simple: solo necesitas mostrar las habilidades anteriores, no construir una aplicación enorme.
- Buenas ideas: calificar una lista de puntajes, sumar una lista de compras, ordenar estudiantes en equipos, contar palabras.
- Elige datos que entiendas, para que puedas explicarlos después.
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.
Una estructura base
- El siguiente programa tiene todos los componentes requeridos. Lee los comentarios para encontrar cada uno.
- Usa una lista fija para que se ejecute igual cada vez (no se necesita escritura en vivo aquí).
- Ejecútalo, luego cambia los datos y las reglas para hacerlo tuyo propio.
# 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: ").
Hazlo tuyo
- Cambia la lista por tus propios datos (y prueba con una longitud diferente).
- Cambia el procedimiento: nueva regla, nuevo nombre de parámetro o devuelve otra cosa.
- Cambia el algoritmo: cuenta algo nuevo, o mantén solo los elementos que pasan el
if. - Añade entrada si quieres, por ejemplo
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?
Preguntas de respuesta escrita
- Responde estas sobre tu propio programa (este es el tipo de escritura que pide la tarea real):
- Propósito: ¿Qué hace tu programa y por qué es útil?
- Lista: ¿Qué almacena tu lista y cómo usar una sola lista (en lugar de muchas variables separadas) hace que el programa sea más fácil de gestionar?
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.
Más preguntas de respuesta escrita
- Procedimiento y parámetro: Nombra tu procedimiento. ¿Cuál es su parámetro, y qué hace el procedimiento con él? ¿Qué devuelve?
- Algoritmo: Describe el algoritmo dentro de tu bucle con tus propias palabras. Señala dónde usa selección (
if) y dónde usa iteración (el bucle), y di por qué ambos son necesarios.
Rubric checklist
- Tick each item once your program has it:
Lista de verificación de rúbrica
- Marca cada elemento una vez que tu programa lo tenga:
[ ] 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.
Puedes lograrlo
- Empieza pequeño, ejecútalo a menudo y corrige una cosa a la vez.
- Cuando marque cada casilla anterior, tendrá la estructura que necesita la Tarea Crear.
- Recuerde: practique aquí primero, luego envíe la tarea real a través del Portafolio Digital 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.
Errores comunes
- Planifique el propósito del programa primero, luego construya piezas pequeñas probadas.
- Esté preparado para explicar qué hace cada parte de su código.
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.
Ahora intente usted
- Un calentamiento: ensamble las partes requeridas una vez, usando los datos de ejemplo de la estructura base.
- Presione Verificar respuesta para confirmar que todas las partes requeridas están presentes.
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 · pasar (grade is not "F") into pass_count. (4) print a summary line. · Un calentamiento que usa los datos de ejemplo de la plantilla. (1) Mantén la lista scores. (2) Define grade_for(score) (un parámetro) que devuelva "A"/"B"/"C"/"F" según las reglas anteriores (>= 90, >= 70, >= 50, de lo contrario "F"). (3) Con selección (if) dentro de un bucle sobre scores, cuenta cuántos aprobaron (la nota no es "F") en pass_count. (4) print una línea de resumen.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
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 · no use the built-in max. Then print the result. · La tarea de creación también necesita un algoritmo que hayas construido tú mismo. Escribe top_score(scores) que devuelva el valor más alto usando un bucle: comienza con la primera puntuación y luego compárala con cada una. No uses la función integrada max. Luego print el resultado.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.