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

SprintDuraciónObjetivoEvidencia de salida
12 semanasNivelación, terminal y Git30 comandos usados sin mirar; repo con 5 commits; diagnóstico escrito
24 semanasLógica y algoritmos con PSeInt: pseudocódigo, variables, operadores, condicionales, bucles, arreglos, subprocesos y diagramas de flujo30 algoritmos resueltos; 5 diagramas de flujo; trazas de ejecución documentadas
34 semanasProgramación I con Python: traducir la lógica aprendida a un lenguaje real; funciones, listas y diccionarios30 ejercicios en Python; un CLI pequeño sin tutorial; explicación propia
44 semanasProgramación II: archivos, errores, módulos, tests, POO básicaRefactor de un programa; 10 tests; errores documentados
54 semanasDatos y SQL: modelo relacional, SQLite y PostgreSQLInstalar PostgreSQL; modelo; 15 consultas; script Python que lee y escribe
64 semanasProyecto integrador 1cli-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-tareas está publicado, documentado y otra persona puede ejecutarlo.

Recursos

Elegir uno principal por tema; el resto es consulta.

TemaPrincipalPráctica
PSeIntSitio oficialManual y ejemplos incluidos
PythonCS50P o Automate the Boring StuffExercism
TerminalMIT Missing SemesterOverTheWire Bandit
GitPro Git, caps. 1–3Learn Git Branching
SQLSQLBoltPostgreSQL Tutorial
MatemáticaKhan AcademyBook 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.

Enlaces