Saltar al contenido
Volver al inicio 100 Días de Código en Python — Sección 101: Tramo final — Aprender a aprender, portafolio y carrera

100 Días de Código en Python — Sección 101: Tramo final — Aprender a aprender, portafolio y carrera

Nivel: Grado décimo Área: Tecnología e Informática Modalidad: Tutorial práctico Fuente: Curso "100 Days of Code: The Complete Python Pro Bootcamp" (Angela Yu, App Brewery). Sección Final Stretch (posterior al Día 100).

Este tutorial adapta pedagógicamente la sección Final Stretch. Contiene dos archivos: 601 - Recording of our Live AMA (aka AAA - Ask Angela Anything).md (transcripción automática al español de una sesión en vivo de preguntas y respuestas con la instructora, de unos 50 minutos) y 603-bonus-lecture-check-out-my-other-courses.md (una página con enlaces a otros cursos de la instructora). Ninguno de los dos contiene ejercicios ni código. Por eso este tutorial resume el contenido original (secciones marcadas con 📝) y lo convierte en actividades prácticas: estrategias para aprender, leer documentación, pensar el portafolio y un proyecto de análisis de texto con Python sobre la propia transcripción. Las actividades, el código, los retos 🟢🟡🟠🔴, el proyecto extra y las observaciones son creación de esta adaptación.

Nota sobre las verificaciones: el 28 de septiembre de 2026, con Python 3.14, se ejecutó el código de la sección 7 sobre el archivo 601 - Recording of our Live AMA...md: el texto tiene unos 47 500 caracteres y 8196 palabras; la función preguntas encontró 52 preguntas de al menos 4 palabras; la palabra "proyecto" aparece 18 veces; "portafolio" no aparece (la transcripción dice "cartera", 2 veces). Las pruebas con textos cortos también se superaron.


Tabla de contenidos

  1. Qué hay en esta sección
  2. 📝 Lo que se dijo en la sesión en vivo, organizado por temas
  3. 📖 Aprender a aprender: de la meta a la práctica
  4. 📖 Leer documentación cuando la necesitas
  5. 📖 El portafolio visto por quien lo evalúa
  6. 📖 Trabajo, emprendimiento y edad: consejos con contexto
  7. 🚀 Proyecto del día: analizar la sesión en vivo con Python
  8. 🌟 Proyecto extra: la sesión de preguntas de nuestro curso
  9. 🏗️ Mi Portafolio Profesional — Después del Día 100
  10. 🧩 Comprueba lo aprendido
  11. 🤖 Programar con apoyo de IA
  12. 🛠️ Observaciones sobre el material original
  13. 📋 Matriz de trazabilidad
  14. 📦 Evidencias de aprendizaje de la sección 101

1. Qué hay en esta sección

Archivo Qué es Cómo se usa en este tutorial
601 - Recording of our Live AMA...md Transcripción de una sesión "Pregúntale a Angela lo que quieras" (Ask Me Anything), grabada en la época de la pandemia (2020), con preguntas de estudiantes Resumen por temas (sección 2), actividades (3 a 6) y datos para el proyecto (sección 7)
603-bonus-lecture-check-out-my-other-courses.md Lista de otros 5 cursos de la instructora con enlaces de Udemy con código de referido Se menciona en la sección 2; no se reproducen los enlaces (contenido comercial)

Prerequisitos: cadenas y listas (Días 2 y 4); diccionarios (Día 9); archivos y rutas (Día 24); comprensión de listas (Día 26); el bloque de proyectos de portafolio (Días 82–100).


2. 📝 Lo que se dijo en la sesión en vivo, organizado por temas

(Fuente: 601 - Recording of our Live AMA...md. Resumen fiel del sentido de las respuestas; la transcripción es automática y contiene errores de reconocimiento, ver sección 12.)

Tema Pregunta de los estudiantes Idea principal de la respuesta
Varios lenguajes ¿Cómo usar lenguajes distintos sin mezclar la sintaxis? ¿Conviene dominar uno antes de pasar a otro? Ella también los mezcla; los editores y los linters detectan esos errores: "la máquina hace la parte de la máquina y yo la del cerebro, que es la lógica". Los lenguajes son herramientas (martillo, sierra), no materias: depende de lo que quieras construir
Competencia Con el trabajo remoto, ¿habrá más competencia? Lo deseable siempre es competido; concéntrate en tu meta y en ti. Recomienda el libro So Good They Can't Ignore You (Cal Newport): "vuélvete tan bueno que no puedan ignorarte"
Conseguir el trabajo soñado ¿Qué debo dominar? Piensa desde el punto de vista de quien contrata: recibe miles de solicitudes y mira lo que sabes hacer. Crea un portafolio: "muéstrale al mundo, no le digas". Idea: un gerente usa Trello o GitHub; construye un clon con tus propias mejoras y lo entenderá al instante
Aprender a aprender ¿Cuál es tu proceso para aprender? No aprender "todo el diccionario": fijar una meta, dividir el tema en las partes que realmente necesitas y practicarlas repetidamente. Ejemplo: su aprendizaje de alemán (solo escuchar y hablar; práctica de frases, comprobación con un traductor, series con audiodescripción)
Documentación ¿Cómo volverse bueno leyendo documentación? Su calidad varía mucho entre tecnologías. No se aprende "de memoria": la información está a un par de búsquedas; ella busca ejemplos (por ejemplo, en Stack Overflow) y luego va a la documentación para profundizar. "Es mucho mejor aprender las cosas cuando se necesitan"
Emprender ¿Cómo iniciar una startup? No hay momento perfecto: ella empezó mientras trabajaba como médica, en sus días libres. "Las oportunidades llegan a quienes están preparados"; los éxitos "de la noche a la mañana" esconden años de trabajo
Carreras a los 13 años ¿Qué trabajo puedo tener a mi edad? Primero, disfrutar la edad. Cuenta que a los 13 repartió directorios y luego dio clases particulares ("probablemente de forma ilegal"). Sugiere plataformas de trabajo independiente cobrando muy poco al principio para construir reputación (ver la sección 6 para el contexto)
Sintaxis frente a lógica Entiendo la sintaxis, pero no sé construir proyectos reales Es la razón del diseño del curso: al principio videos guiados, luego textos con más documentación, al final proyectos propios, como quien suelta la bicicleta al aprender. Y empezar pequeño: no construyas un carro; construye una patineta, luego un scooter, una moto y después el carro
Por qué Python ¿Por qué un curso de 100 días en Python? Sirve para muchas cosas (web, ciencia de datos, scripts, automatización) y permite proyectos reales para mostrar
¿Qué lenguaje es más poderoso? ¿Java, C++ o Python? Ninguno: cada uno tiene sus usos. Es como preguntar si gana el martillo o la sierra
Lenguajes antiguos (Anécdota) Sistemas de bancos y aerolíneas aún dependen de COBOL, y pocas personas lo dominan
Diseño UX ¿Qué opinas del diseño UI/UX? No dejarlo para el final como "polvo mágico": debe estar desde el principio. Probar muchas aplicaciones y fijarse en las experiencias que funcionan bien
Precios ¿Cómo poner precio al software? En teoría, lo que la gente está dispuesta a pagar; depende de cuántas personas lo necesitan; su equipo pensó en que personas de países con menos recursos pudieran pagarlo
Otros temas Actualización del curso de iOS, SwiftUI, anime, videojuegos, libros, cursos de Java Temas personales o de otros cursos; se omiten en las actividades

603-bonus-lecture...md: enlaces a otros cursos de la instructora: desarrollo iOS, Flutter, desarrollo web full-stack, ciencia de datos y aprendizaje automático, y crowdfunding.


3. 📖 Aprender a aprender: de la meta a la práctica

(Sección creada para esta adaptación a partir de la respuesta sobre el proceso de aprendizaje.)

🎯 Objetivo de aprendizaje

Convertir una meta amplia ("aprender X") en un plan de práctica concreto.

📖 Explicación conceptual

La instructora describe tres pasos, aplicables a cualquier tecnología:

Paso Pregunta Ejemplo: "quiero hacer videojuegos en Python"
1. Meta concreta ¿Qué quiero poder hacer? Un juego de plataformas de un nivel
2. Descomponer ¿Qué partes necesito realmente, y cuáles no? Necesito: dibujar, mover, colisiones, gravedad. No necesito (aún): red, 3D, sonido avanzado
3. Práctica repetida con retroalimentación ¿Cómo practico cada parte y cómo sé si lo hago bien? Un mini-programa por parte; pruebas; mostrarlo a alguien

Es la misma idea de "patineta → carro": cada parte es un proyecto pequeño que funciona.

📝 Actividad

  1. Escribe una meta de aprendizaje para los próximos 3 meses.
  2. Descomponla en máximo 6 partes y tacha las que no necesitas todavía.
  3. Para cada parte, define un mini-proyecto de 1 o 2 horas y cómo sabrás que funciona.

4. 📖 Leer documentación cuando la necesitas

(Sección creada para esta adaptación a partir de la respuesta sobre documentación.)

La estrategia descrita (ejemplo primero, documentación después) funciona mejor si sabes dónde mirar. En Python tienes tres niveles:

Herramienta Cuándo Ejemplo
help() en la consola Recordar parámetros de algo que ya conoces help(str.split)
dir() Ver qué métodos tiene un objeto dir("texto")
docs.python.org (y la documentación de cada librería) Entender a fondo, ver ejemplos oficiales y detalles Página de str.split

📝 Actividad: la búsqueda del tesoro en la documentación

Responde usando solo help() y la documentación oficial (sin IA, sin buscadores):

  1. ¿Qué hace el parámetro maxsplit de str.split? Da un ejemplo.
  2. ¿Qué diferencia hay entre list.sort() y sorted()?
  3. ¿Qué devuelve Counter.most_common(2) del módulo collections?
  4. En la documentación de pathlib, ¿qué método lee un archivo de texto completo?

Después, compara: ¿qué fue más rápido, help() o la página web? ¿Qué información encontraste en una y no en la otra?


5. 📖 El portafolio visto por quien lo evalúa

(Sección creada para esta adaptación a partir de la respuesta sobre el trabajo soñado.)

La instructora propone ponerse en el lugar de quien revisa cientos de solicitudes. Haz el ejercicio con tu portafolio de los Días 82–100:

Quien evalúa… …se pregunta Qué revisar en tu portafolio
Tiene 30 segundos por candidato ¿Qué sabe hacer? ¿Tu página de inicio lo dice en una frase y muestra tus 3 mejores proyectos?
No conoce tu código ¿Funciona? ¿Hay capturas, GIF o una versión publicada?
Usa herramientas concretas (Trello, GitHub, hojas de cálculo) ¿Entiende mis problemas? ¿Algún proyecto resuelve algo que tu público reconocería al instante?
Ha visto muchos proyectos de tutorial ¿Es suyo? ¿Tus proyectos tienen mejoras propias y un diario que muestre tus decisiones?

📝 Actividad: revisión cruzada

En parejas, cada estudiante abre el portafolio del otro durante 30 segundos y luego responde de memoria: ¿qué sabe hacer esta persona? ¿qué proyecto recuerdo? Compara con lo que el autor quería comunicar y anota 2 mejoras.


6. 📖 Trabajo, emprendimiento y edad: consejos con contexto

(Sección creada para esta adaptación. Analiza críticamente la respuesta sobre carreras a los 13 años.)

La instructora habló desde su experiencia personal (Reino Unido) y ella misma reconoció que su primer trabajo a los 13 años "probablemente" no era legal. Antes de aplicar esos consejos, conviene conocer el contexto:

Consejo de la sesión Qué considerar
Inscribirse en plataformas de trabajo independiente Las plataformas conocidas suelen exigir mayoría de edad en sus términos: revísalos. En Colombia, el trabajo de adolescentes está regulado por el Código de la Infancia y la Adolescencia (Ley 1098 de 2006) y requiere autorización; consulta con tu familia y tu colegio
Cobrar muy poco al principio para ganar reputación Construir reputación es valioso, pero cobrar "casi nada" puede hacer que otros no valoren el trabajo técnico. Alternativas: proyectos sin cobro para tu comunidad (tienda del barrio, fundación, colegio), servicio social, concursos y hackatones escolares
"Las oportunidades llegan a quienes están preparados" Coincide con el portafolio: cada proyecto terminado es preparación
Empezar un emprendimiento sin esperar el momento perfecto En el colegio: ferias empresariales, clubes, proyectos de emprendimiento escolar (Día 97, proyecto extra)

📝 Actividad: tres formas de usar lo aprendido este año

Propón tres formas legales y seguras de usar tus habilidades de programación antes de cumplir 18 años (por ejemplo, un sitio para una organización del barrio, una automatización para el colegio, enseñar a estudiantes de grados inferiores). Para cada una: a quién ayuda, qué construirías, qué aprenderías y qué permisos necesitas.


7. 🚀 Proyecto del día: analizar la sesión en vivo con Python

(Proyecto creado para esta adaptación. Código verificado sobre el archivo original.)

Problema

La transcripción de la sesión tiene más de 8000 palabras, sin títulos ni índice. Encontrar una respuesta concreta es lento.

Contexto

Es un caso real de procesamiento de texto: los mismos métodos sirven para analizar encuestas del colegio, comentarios o actas.

Objetivo

Un programa que lea la transcripción y responda: ¿cuántas preguntas se hicieron? ¿cuáles son las palabras más frecuentes? ¿en qué partes se habla de un tema?

Requisitos funcionales

  1. Leer el archivo con la codificación correcta.
  2. Extraer las preguntas (entre ¿ y ?), sin saltos de línea y sin muletillas cortas ("¿verdad?").
  3. Mostrar las palabras más frecuentes, sin palabras vacías ("de", "la", "que"…).
  4. Buscar un término y mostrar el texto que lo rodea.

Restricciones técnicas

  • Funciones que reciben texto y devuelven resultados (se prueban con textos cortos).
  • Expresiones regulares solo donde simplifican el código.

Planificación

  1. Abrir el archivo y leerlo a mano un rato. 2. Entradas: el texto. 3. Procesos: dividir en palabras, filtrar, contar, buscar. 4. Salidas: listas y conteos. 5. Una función por tarea. 6. Probar con textos cortos. 7. Aplicar al archivo real. 8. Revisar resultados extraños. 9. Corregir. 10. Mejorar.

Construcción paso a paso

Versión 1 — Leer y contar palabras

Python
import re
from collections import Counter
from pathlib import Path

RUTA_AMA = Path("101 - Final Stretch/601 - Recording of our Live AMA (aka AAA - Ask Angela Anything).md")

def leer_texto(ruta):
    return ruta.read_text(encoding="utf-8")

def palabras(texto):
    return re.findall(r"[a-záéíóúñü]+", texto.lower())
  • re.findall(r"[a-záéíóúñü]+", ...) busca secuencias de letras, incluidas las tildes y la "ñ". Sin ellas en el patrón, "está" se partiría en "est" y "á".
  • .lower() antes de buscar: "Python" y "python" cuentan igual.
  • Verificado: 8196 palabras.

Versión 2 — Palabras más frecuentes

Python
PALABRAS_VACIAS = {"de", "la", "que", "el", "en", "y", "a", "los", "se", "no", "un", "una",
                   "es", "por", "lo", "como", "con", "para", "las", "del", "pero", "eso"}  # amplíala

def mas_frecuentes(texto, n=10):
    conteo = Counter(p for p in palabras(texto) if p not in PALABRAS_VACIAS and len(p) > 3)
    return conteo.most_common(n)

Sin filtro, las más frecuentes serían "de", "que", "la"… que no dicen nada del contenido. Tu turno: amplía la lista hasta que las 10 primeras palabras digan algo sobre la sesión. (Verificado: con una lista de unas 70 palabras vacías aparecen "pregunta", "curso", "aprender" y "construir" entre las 15 primeras, junto con muletillas como "bueno" y "luego": ¿las filtras también?)

Versión 3 — Extraer preguntas

Python
def preguntas(texto, minimo_palabras=4):
    encontradas = re.findall(r"¿[^?]+\?", texto)
    limpias = [" ".join(p.split()) for p in encontradas]
    return [p for p in limpias if len(p.split()) >= minimo_palabras]
  • ¿[^?]+\?: un ¿, luego cualquier cosa que no sea ?, y un ?.
  • " ".join(p.split()) reemplaza saltos de línea y espacios repetidos por un solo espacio (verificado: sin esto, algunas preguntas aparecían partidas por \n\n).
  • minimo_palabras descarta muletillas como "¿verdad?". Verificado: 52 preguntas.

Versión 4 — Buscar un tema (tu turno): escribe buscar(texto, termino, contexto=60) que devuelva los fragmentos alrededor de cada aparición del término (pista: re.finditer y re.escape, con flags=re.IGNORECASE). Verificado con la solución de referencia: "proyecto" aparece 18 veces.

Versión final — Informe: genera un archivo informe_ama.md con el número de preguntas, las 15 palabras más frecuentes y la lista de preguntas numeradas.

Pruebas

Python
assert preguntas("Hola. ¿Qué tal estás hoy?  ¿Verdad? ¿Y tú qué piensas?") == ["¿Qué tal estás hoy?", "¿Y tú qué piensas?"]
assert mas_frecuentes("Python python PYTHON java", 1) == [("python", 3)]
assert palabras("Está bien, ¿sí?") == ["está", "bien", "sí"]

🧪 Prueba y depuración

Python
texto = open("601 - Recording of our Live AMA (aka AAA - Ask Angela Anything).md").read()
palabras = texto.split(" ")
conteo = {}
for p in palabras:
    conteo[p] = conteo[p] + 1

Encuentra cuatro problemas: open sin encoding="utf-8" (en Windows, las tildes pueden fallar o verse mal) y sin la ruta de la carpeta; split(" ") deja signos pegados ("curso," y "curso" cuentan distinto) y no separa saltos de línea; no se pasa a minúsculas; y conteo[p] + 1 lanza KeyError la primera vez (usa conteo.get(p, 0) + 1 o Counter).

⭐ Extensión del proyecto

  • 🟢 Reto 1 — Aplicación: cuenta cuántas veces aparecen los nombres de lenguajes (Python, JavaScript, Java, Swift, COBOL…).
  • 🟡 Reto 2 — Ampliación: divide la transcripción en bloques por pregunta (cada pregunta y el texto hasta la siguiente) y guárdalos en un CSV con dos columnas.
  • 🟠 Reto 3 — Desafío: un pequeño buscador en Flask (Días 54–57): escribes un tema y muestra los bloques del reto 2 que lo mencionan, ordenados por número de coincidencias.
  • 🔴 Reto 4 — Pensamiento computacional: diseña una forma de clasificar automáticamente cada bloque en uno de los temas de la tabla de la sección 2 (con listas de palabras clave por tema). Mide cuántos bloques clasifica bien comparando con una clasificación hecha a mano.

8. 🌟 Proyecto extra: la sesión de preguntas de nuestro curso

(Proyecto creado para esta adaptación; no existe en el curso original.)

Situación

Inspirados en el AMA, el curso organiza una sesión de preguntas con un invitado: un exalumno que estudia ingeniería, un desarrollador de la región o el docente.

Requisitos

  1. Un formulario web (Flask) donde los estudiantes envían preguntas con un alias.
  2. Votación de preguntas (una persona, un voto por pregunta) para ordenar las más votadas, como hizo el equipo de la instructora.
  3. Después de la sesión, publicar el resumen de respuestas por tema.

Decisiones que debes tomar (y justificar)

  • ¿Cómo evitas votos repetidos sin pedir datos personales?
  • ¿Quién modera preguntas inapropiadas antes de mostrarlas?

Casos de prueba

  • Una pregunta vacía no se guarda.
  • Votar dos veces la misma pregunta no suma dos votos.

9. 🏗️ Mi Portafolio Profesional — Después del Día 100

(Continuación del proyecto integrador de esta adaptación, cerrado en el Día 100.)

  1. Aplica la revisión cruzada de la sección 5 y haz las 2 mejoras propuestas.
  2. Agrega al portafolio el analizador de la sección 7 (o el buscador del reto 3) como proyecto de procesamiento de texto.
  3. Escribe tu plan de los próximos 3 meses (actividad de la sección 3) y publícalo en tu README.md principal de GitHub como "En qué estoy trabajando".

10. 🧩 Comprueba lo aprendido

Conceptuales

  1. ¿Qué quiere decir la instructora con "la máquina hace la parte de la máquina y yo la del cerebro"? Da un ejemplo de herramienta que haga "la parte de la máquina".
  2. Explica la metáfora de la patineta y el carro con un proyecto tuyo.
  3. ¿Por qué pensar desde el punto de vista de quien evalúa ayuda a construir un mejor portafolio?
  4. ¿Qué contexto hay que considerar antes de seguir los consejos sobre trabajar a los 13 años?

Análisis de código

Python
" ".join("¿cómo se\n\nlas arregla?".split())

¿Qué devuelve y por qué?

Predicción

¿Qué devuelve re.findall(r"¿[^?]+\?", "¿A? ¿B C?")?

Depuración

"Mi conteo dice que 'Curso' aparece 3 veces y 'curso' 23." ¿Qué falta?

Modificación

Cambia mas_frecuentes para que ignore también las palabras de 3 letras o menos que no estén en la lista de palabras vacías. ¿Ya lo hace? Revisa el código.

Creación

Escribe oraciones_con(texto, palabra) que devuelva las oraciones completas (separadas por ., ? o !) que contienen esa palabra.


11. 🤖 Programar con apoyo de IA

Ciclo de trabajo: formula el problema → inténtalo tú primero → consulta a la IA sobre un punto concreto → lee y entiende → prueba → compara con la documentación oficial → modifica → explica con tus palabras.

Actividad 1 — Resumen comprobable. Pide a una IA un resumen de una parte de la transcripción (pega un fragmento, no el archivo completo). Luego comprueba cada afirmación del resumen buscándola en el texto con tu función buscar. ¿Inventó algo?

Actividad 2 — Expresiones regulares. Pide a una IA que explique r"¿[^?]+\?" símbolo por símbolo. Compruébalo en la documentación del módulo re.

Actividad 3 — Aprender a aprender con IA. Usa la IA como en la sección 3: pídele que te ayude a descomponer tu meta, no que haga los mini-proyectos. Compara su propuesta con la tuya.


12. 🛠️ Observaciones sobre el material original

Archivo Observación Tratamiento
601 - Recording of our Live AMA...md Transcripción automática con errores de reconocimiento: "Art Brewery" (App Brewery), "Vyas code" (VS Code), "Atem" (Atom), "Carl Newport" (Cal Newport), "Azana" (Asana), "Chitral" (probablemente tutorial hell), "Katlin" (Kotlin), "Solve and Sanctuary" (Salt and Sanctuary), "London Obree" (una URL de encuesta) Se corrigen en el resumen de la sección 2 según el contexto
601 - Recording of our Live AMA...md Información de 2020 ya desactualizada: el editor Atom fue retirado por GitHub en 2022; las versiones de iOS y macOS mencionadas son antiguas; el contexto de la pandemia Se omiten o se contextualizan
601 - Recording of our Live AMA...md Consejos laborales para menores de edad basados en experiencia personal y otro país Sección 6: análisis con contexto legal colombiano y alternativas seguras
601 - Recording of our Live AMA...md Sin ejercicios ni código Se crean actividades (secciones 3 a 6) y un proyecto de análisis de texto sobre la propia transcripción
603-bonus-lecture...md Solo enlaces comerciales con código de referido e imágenes alojadas en Udemy Se mencionan los temas de los cursos sin reproducir los enlaces

13. 📋 Matriz de trazabilidad

Contenido original Archivo de origen Concepto desarrollado Ejercicio original Reto adicional Proyecto relacionado
Varios lenguajes, linters, lenguajes como herramientas 601 - ...AMA...md Secciones 2 y 10 — Reto 1 Sección 7
Competencia y "So Good They Can't Ignore You" 601 - ...AMA...md Sección 2 — — Sección 9
Trabajo soñado: portafolio y perspectiva del evaluador 601 - ...AMA...md Sección 5 — — Sección 9
Aprender a aprender (meta, descomponer, practicar) 601 - ...AMA...md Sección 3 — — Sección 9 (plan de 3 meses)
Leer documentación 601 - ...AMA...md Sección 4 — — —
Emprender; carreras a los 13 años; precios 601 - ...AMA...md Secciones 2 y 6 — — Sección 8
De sintaxis a proyectos: ruedas de entrenamiento y patineta → carro 601 - ...AMA...md Secciones 2 y 3 — Retos 2 a 4 Sección 7 (versiones)
UX desde el principio 601 - ...AMA...md Sección 2 — — Sección 8
Transcripción completa como datos 601 - ...AMA...md Sección 7 — Retos 1 a 4 Sección 7
Otros cursos de la instructora 603-bonus-lecture...md Sección 2 — — —
(No existe en el curso original) — Procesamiento de texto con re y Counter — Sesión de preguntas del curso Sección 8

14. 📦 Evidencias de aprendizaje de la sección 101

  • El plan de aprendizaje de 3 meses (sección 3).
  • Las respuestas de la búsqueda del tesoro en la documentación (sección 4).
  • Las 2 mejoras del portafolio tras la revisión cruzada (sección 5).
  • Las tres formas legales y seguras de usar tus habilidades (sección 6).
  • El analizador de la transcripción con sus pruebas y el informe_ama.md.
  • Cuaderno de errores: archivos leídos sin encoding, split(" ") con signos pegados, mayúsculas y minúsculas, KeyError al contar, patrones de re sin tildes, saltos de línea dentro de las preguntas.