Etapa 1 — Fundamentos
Volver a Plan.
Objetivo: pasar de “no sé programar” a “puedo construir una herramienta pequeña, explicarla y versionarla”.
Secuencia: primero PSeInt para aprender a pensar algoritmos en pseudocódigo; después Python para llevar esos conceptos a un lenguaje real. PSeInt no es un fin: es el laboratorio donde la lógica se entiende sin pelear con la sintaxis.
Prueba de nivel: resolver un ejercicio básico sin ayuda y escribir qué sé y qué no. Si ya domino un tema, comprimo el sprint, pero no salto la evidencia.
Sprints
| Sprint | Duración | Objetivo | Evidencia de salida |
|---|---|---|---|
| 1 | 2 semanas | Nivelación, terminal y Git | 30 comandos usados sin mirar; repo con 5 commits; diagnóstico escrito |
| 2 | 4 semanas | Lógica y algoritmos con PSeInt: pseudocódigo, variables, operadores, condicionales, bucles, arreglos, subprocesos y diagramas de flujo | 30 algoritmos resueltos; 5 diagramas de flujo; trazas de ejecución documentadas |
| 3 | 4 semanas | Programación I con Python: traducir la lógica aprendida a un lenguaje real; funciones, listas y diccionarios | 30 ejercicios en Python; un CLI pequeño sin tutorial; explicación propia |
| 4 | 4 semanas | Programación II: archivos, errores, módulos, tests, POO básica | Refactor de un programa; 10 tests; errores documentados |
| 5 | 4 semanas | Datos y SQL: modelo relacional, SQLite y PostgreSQL | Instalar PostgreSQL; modelo; 15 consultas; script Python que lee y escribe |
| 6 | 4 semanas | Proyecto integrador 1 | cli-tareas: argparse + SQLite/PostgreSQL + tests + README + demo |
Criterios de salida
- Escribo un algoritmo en pseudocódigo, lo represento en diagrama de flujo y explico su traza.
- Resuelvo problemas con condicionales, bucles, arreglos y subprocesos sin depender de Python.
- Traduzco un algoritmo de PSeInt a Python manteniendo la misma lógica.
- Escribo desde cero un programa de 300+ líneas con funciones, archivos, errores y tests.
- Modelo una base de datos relacional y escribo consultas con joins y agregaciones.
- Uso la terminal y Git sin depender de la interfaz gráfica para el flujo diario.
- Explico sin mirar: variable, función, proceso, consulta SQL, commit y test.
- El proyecto
cli-tareasestá publicado, documentado y otra persona puede ejecutarlo.
Recursos
Elegir uno principal por tema; el resto es consulta.
| Tema | Principal | Práctica |
|---|---|---|
| PSeInt | Sitio oficial | Manual y ejemplos incluidos |
| Python | CS50P o Automate the Boring Stuff | Exercism |
| Terminal | MIT Missing Semester | OverTheWire Bandit |
| Git | Pro Git, caps. 1–3 | Learn Git Branching |
| SQL | SQLBolt | PostgreSQL Tutorial |
| Matemática | Khan Academy | Book of Proof (después) |
Notas
- 00 Material — material de estudio generado y organizado por tema.
- 00 PSeInt — ruta de fundamentos antes de Python.
- 00 Software — programación, lenguajes y estructuras.
- 00 Lenguajes — sintaxis, semántica, paradigmas y herramientas.
- 00 Estructuras — estructuras de datos y algoritmos.