Skip to main content

🐍 Programa Integral de Formación en Python

De Cero Absoluto a la Arquitectura de Agentes de Inteligencia Artificial


Python Version Web Documentation Open in GitHub Codespaces Pytest CI Licencia MIT


Un ecosistema académico y profesional de nivel universitario y de ingeniería, concebido para guiarte de forma rigurosa, práctica e inmersiva a lo largo de 4 cursos, 32 clases semanales, 129 ejemplos estructurados, 32 manuales técnicos en PDF, cuadernos interactivos en Google Colab y proyectos reales de portafolio.


🌐 Portal Web Oficial🚀 Iniciar en Codespaces📚 Plan de Estudios🌀 Aprendizaje en Espiral👤 Sobre el Mentor


🌟 Visión y Manifiesto del Programa

Aprender a programar en la era de la Inteligencia Artificial exige un cambio radical de paradigma: ya no basta con memorizar sintaxis básica o resolver ejercicios abstractos de consola. La industria demanda profesionales capaces de pensar algorítmicamente, entender cómo se gestiona la memoria en el procesador, estructurar código desacoplado y de calidad empresarial, y orquestar modelos LLM, bases de datos vectoriales y sistemas multi-agente autónomos.

Este repositorio es el fruto de años de experiencia en arquitectura de software y diseño instruccional. Ha sido estructurado minuciosamente para eliminar la fricción técnica, proporcionando a cada estudiante una ruta clara, progresiva y sin lagunas conceptuales.


👤 Dirección Académica y Mentoría

William Rodríguez (Wisrovi)

Principal Software Engineer & AI Solutions Architect • Badajoz, España

Ingeniero de software, investigador y arquitecto de soluciones de Inteligencia Artificial Generativa, sistemas distribuidos, Visión por Computador e infraestructuras de Machine Learning Operations (MLOps). Diseñador de arquitecturas empresariales y autor de la suite de código abierto wisrovi SUITE en PyPI, con más de 26 paquetes publicados enfocados en optimización de rendimiento, pipelines asíncronos y bases de datos.

GitHub LinkedIn PyPI DockerHub Website


🌀 Metodología Pedagógica: El Modelo de Aprendizaje en Espiral

La mayoría de los cursos tradicionales cometen uno de dos errores: o abruman al principiante con teoría matemática abstracta antes de escribir una sola línea de código, o enseñan fragmentos aislados que el alumno olvida de inmediato.

Este programa implementa el Aprendizaje en Espiral (Spiral Learning), un modelo cognitivo donde el conocimiento se construye en ciclos iterativos de complejidad creciente, conectando la intuición inicial con la ingeniería avanzada:

flowchart TD
    subgraph Espiral["🌀 El Ciclo de Aprendizaje en Espiral (32 Semanas de Evolución Técnica)"]
        
        subgraph F1["🌱 FASE 1: Visión Holística & Gratificación Temprana (Curso 1)"]
            F1_A["Semana 1: Primer Vistazo Práctico<br/>print(), variables, if/else, for y def en acción conjunta"]
            F1_B["Semanas 2 a 7: Profundización de Tipos, Flujos & Modularidad<br/>Heap, mutabilidad, slicing, tablas hash y scope LEGB"]
            F1_C["Semana 8: Síntesis en Proyecto CLI<br/>Gestor de Tareas interactivo con validación try/except"]
            F1_A --> F1_B --> F1_C
        end

        subgraph F2["⚡ FASE 2: Rigor Algorítmico & Estructuras de Datos (Curso 2)"]
            F2_A["Análisis de Complejidad Temporal y Espacial Big-O"]
            F2_B["Estructuras Lineales & Jerárquicas (Pilas, Colas, BST, Grafos)"]
            F2_C["Algoritmos Clásicos: Búsqueda Binaria, QuickSort y DP Memoizada"]
            F2_A --> F2_B --> F2_C
        end

        subgraph F3["🤖 FASE 3: Inteligencia Artificial Generativa & Agentes (Curso 3)"]
            F3_A["Tokenización BPE, Inferencia LLM & Prompt Engineering Avanzado"]
            F3_B["Salidas Estructuradas (Pydantic), Tool Calling & Embeddings Vectoriales"]
            F3_C["Arquitecturas RAG Semánticas, Agentes ReAct y Sistemas Multi-Agente"]
            F3_A --> F3_B --> F3_C
        end

        subgraph F4["🛠️ FASE 4: Taller Integrador & Aplicación Full-Stack (Curso 4)"]
            F4_A["Arquitectura Modular Limpia & Backend FastAPI REST con Swagger"]
            F4_B["Persistencia Relacional SQLite ACID & Frontend Reactivo Streamlit"]
            F4_C["Streaming de Tokens, Docker Compose, Testing Mockeado y Despliegue CI/CD"]
            F4_A --> F4_B --> F4_C
        end

        F1_C ==> F2_A
        F2_C ==> F3_A
        F3_C ==> F4_A
    end

    style Espiral fill:#0b1120,stroke:#3b82f6,stroke-width:2px,color:#ffffff
    style F1 fill:#1e293b,stroke:#38bdf8,stroke-width:2px,color:#ffffff
    style F2 fill:#064e3b,stroke:#34d399,stroke-width:2px,color:#ffffff
    style F3 fill:#3b0764,stroke:#c084fc,stroke-width:2px,color:#ffffff
    style F4 fill:#7c2d12,stroke:#fb923c,stroke-width:2px,color:#ffffff

🚲 La Regla de la Bicicleta (Pedaleo Activo)

"Nadie aprende a montar en bicicleta leyendo un manual de física sobre el centro de gravedad. Tu verdadero aprendizaje como desarrollador ocurre cuando abres el editor, escribes el código con tus propios dedos, provocas errores deliberados para entender las trazas de Python y ejecutas las suites de pruebas automatizadas."

Cada clase está diseñada para que más del 70% del tiempo sea práctica aplicada:

  1. Modelos Mentales Explícitos: Metáforas cotidianas que anclan el concepto abstracto.
  2. Ejemplos Vivos: Al menos 4 carpetas con scripts ejecutables, comentados e independientes por clase.
  3. Retos Autoevaluables: Ejercicios con pruebas unitarias (pytest) que ofrecen retroalimentación instantánea.

🗺️ El Currículo Maestro (4 Cursos • 32 Semanas)

flowchart LR
    C1["🎯 CURSO 1<br/><b>Fundamentos de Python</b><br/>8 Clases &bull; 33 Ejemplos<br/><i>De cero a CLI modular</i>"] --> C2["⚡ CURSO 2<br/><b>Algoritmos & Estructuras</b><br/>8 Clases &bull; 32 Ejemplos<br/><i>Big-O, BST, Grafos & DP</i>"]
    C2 --> C3["🤖 CURSO 3<br/><b>Agentes de IA</b><br/>8 Clases &bull; 32 Ejemplos<br/><i>LLMs, RAG & ReAct</i>"]
    C3 --> C4["🛠️ CURSO 4<br/><b>Proyecto Final Integrador</b><br/>8 Clases &bull; 32 Ejemplos<br/><i>FastAPI, Streamlit & Docker</i>"]

    style C1 fill:#1e3a8a,color:#ffffff,stroke:#60a5fa,stroke-width:2px
    style C2 fill:#065f46,color:#ffffff,stroke:#34d399,stroke-width:2px
    style C3 fill:#581c87,color:#ffffff,stroke:#c084fc,stroke-width:2px
    style C4 fill:#9a3412,color:#ffffff,stroke:#fb923c,stroke-width:2px

📑 Matriz Detallada de Contenidos y Recursos Oficiales

Curso Nivel Manual PDF Oficial Libro Digital Cuadernos Colab Proyecto / Hito de Graduación
1 Fundamentos Básicos de Python
(Semanas 1 a 8)
📄 PDF Completo (98 págs) 📖 book.md 📓 8 Notebooks Gestor de Tareas CLI: Menú interactivo de consola con gestión de estado en memoria y validación try/except.
2 Algoritmos y Estructuras de Datos
(Semanas 9 a 16)
📄 PDF Completo (92 págs) 📖 book.md 📓 8 Notebooks Optimizador Algorítmico: Búsqueda binaria O(log n), ordenamiento QuickSort y memoización con @lru_cache.
3 Desarrollo de Agentes de IA
(Semanas 17 a 24)
📄 PDF Completo (95 págs) 📖 book.md 📓 8 Notebooks Pipeline RAG & Agente ReAct: Sistema de búsqueda semántica vectorial y agente con Tool Calling y validación Pydantic.
4 Taller Práctico & Proyecto Integrador
(Semanas 25 a 32)
📄 PDF Completo (96 págs) 📖 book.md 📓 8 Notebooks Aplicación Web Full-Stack: FastAPI REST + UI Streamlit con streaming de tokens, persistencia SQL, Docker Compose y CI/CD.

🏛️ Desglose Curricular Clase por Clase (Las 32 Semanas)

🎯 Curso 1: Fundamentos Básicos de Python (Semanas 1 a 8)
Semana Clase Metáfora Central Hito de Aprendizaje
S01 Panorama General El Megáfono, las Cajas, el Semáforo y la Cinta Primer contacto interactivo con print, variables, condicionales if, bucles for y funciones def.
S02 Variables y Tipos Cajas Etiquetadas en Memoria Dominio de tipos primitivos (int, float, str, bool), type casting, inmutabilidad y f-strings.
S03 Condicionales El Semáforo y las Puertas Lógicas Control de flujo con if, elif, else, operadores booleanos (and, or, not) y cortocircuitos.
S04 Bucles e Iteración La Cinta Transportadora Automatización de repeticiones con for, range(), bucles while, break y continue.
S05 Listas y Colecciones El Archivador y las Cajas Selladas Métodos de mutación (append, insert, pop), rebanado avanzado (slicing) y list comprehensions.
S06 Diccionarios y Sets La Agenda Telefónica y el Filtro de Únicos Mapeos clave-valor O(1) con .get(), .items() y eliminación de duplicados con conjuntos set.
S07 Funciones y Scope La Licuadora (Entradas ➔ Jugo) Modularización limpia con parámetros por defecto, *args, **kwargs, return y ámbito LEGB.
S08 Proyecto Integrador CLI El Tablero de Control y el Casco (try/except) Construcción de una aplicación de terminal robusta con interfaz de menú y manejo de excepciones.
⚡ Curso 2: Algoritmos Avanzados y Estructuras de Datos (Semanas 9 a 16)
Semana Clase Conceptos Principales Implementación Clave
S09 Análisis Big-O Complejidad temporal y espacial Curvas $\mathcal{O}(1)$, $\mathcal{O}(n)$, $\mathcal{O}(n \log n)$, $\mathcal{O}(n^2)$ y análisis asintótico.
S10 Pilas y Colas LIFO vs FIFO Implementación con collections.deque y buffers circulares maxlen.
S11 Tablas Hash y Sets Colisiones y dispersión Algoritmo Two-Sum en $\mathcal{O}(n)$ y conteo de frecuencias con dict.
S12 Algoritmos de Búsqueda Búsqueda Lineal vs Binaria Búsqueda binaria iterativa y cálculo de índices medios sin overflow.
S13 Algoritmos de Ordenamiento Divide y vencerás Implementación canónica de QuickSort con selección de pivote y MergeSort.
S14 Árboles BST Árboles Binarios de Búsqueda Inserción recursiva, búsqueda O(h) y recorridos in-order, pre-order y post-order.
S15 Grafos y Recorridos Listas de adyacencia Algoritmos BFS (amplitud con cola) y DFS (profundidad con pila/recursión).
S16 Recursión y DP Casos base y subproblemas Optimización de secuencias Fibonacci mediante memoización y @functools.lru_cache.
🤖 Curso 3: Desarrollo de Agentes de Inteligencia Artificial (Semanas 17 a 24)
Semana Clase Enfoque Tecnológico Capacidades Adquiridas
S17 LLMs y Tokenización Arquitectura Transformer & BPE Comprensión de ventanas de contexto, codificación de tokens y cálculo de costos.
S18 Prompt Engineering Técnicas de alineación Few-Shot prompting, Chain of Thought (CoT) y mitigación de alucinaciones.
S19 Salidas Pydantic Validación de esquemas Extracción de JSON tipado garantizado y contratos DTO con BaseModel.
S20 Tool Calling Invocación de herramientas Despachadores de funciones de Python llamadas dinámicamente por el LLM.
S21 Embeddings Vectoriales Espacios semánticos multidimensionales Generación de vectores densos y cálculo de similitud coseno para ranking.
S22 Arquitecturas RAG Retrieval-Augmented Generation Chunking con solapamiento, búsqueda semántica y síntesis fundamentada en fuentes.
S23 Agentes ReAct Razonamiento y Acción Ciclos autónomos Thought ➔ Action ➔ Observation ➔ Answer con límites de seguridad.
S24 Sistemas Multi-Agente Orquestación distribuida Patrón supervisor, agentes especialistas (investigador, redactor, auditor) y guardrails.
🛠️ Curso 4: Taller Práctico & Proyecto Integrador Full-Stack (Semanas 25 a 32)
Semana Clase Capa del Sistema Entregable de Ingeniería
S25 Arquitectura Limpia Configuración y DTOs Modelado de dominio desacoplado, BaseSettings y patrón repositorio.
S26 Backend FastAPI API REST asíncrona Endpoints CRUD, inyección de dependencias Depends() y Swagger OpenAPI interactivo.
S27 Persistencia SQL Base de Datos Relacional Consultas parametrizadas seguras, transacciones ACID con with conn: y migraciones.
S28 Frontend Streamlit Interfaz Web Reactiva Componentes interactivos, gestión de estado con st.session_state y cliente HTTP.
S29 Integración Agente IA Chatbot en Tiempo Real Streaming de tokens en vivo con generadores yield en componentes de chat UI.
S30 Testing y Calidad Pruebas Automatizadas Fixtures en memoria, mocks de servicios externos y TestClient de FastAPI.
S31 Docker y Compose Contenerización Dockerfile multi-stage optimizado y docker-compose.yml orquestando backend y frontend.
S32 Despliegue y Portafolio Producción y CI/CD Pipeline de GitHub Actions automatizado y checklist de entrega para graduación.

⚡ Guía de Inicio Rápido (Quickstart)

☁️ Opción 1: En la Nube con 1 Clic (Recomendado para Estudiantes)

No necesitas instalar Python ni configurar entornos en tu ordenador. Haz clic en el botón inferior para abrir un entorno completo de Visual Studio Code en tu navegador:

Open in GitHub Codespaces


💻 Opción 2: Instalación en tu Máquina Local (Linux / macOS / Windows)

# 1. Clonar el repositorio oficial
git clone https://github.com/wisrovi/wisrovi-python.git
cd wisrovi-python

# 2. Crear y activar el entorno virtual aislado de Python
python3 -m venv venv

# En Linux / macOS:
source venv/bin/activate

# En Windows (PowerShell):
# .\\venv\\Scripts\\Activate.ps1

# 3. Actualizar pip e instalar todas las dependencias en modo editable
pip install --upgrade pip
pip install -e ".[all]"

# 4. Validar la instalación ejecutando la suite completa de pruebas
pytest -v

🧪 Arquitectura de Testing y Aseguramiento de Calidad

Para mantener las carpetas de clase de los estudiantes completamente limpias y enfocadas únicamente en el aprendizaje, toda la infraestructura de pruebas automatizadas está centralizada en tests/:

tests/
├── 📁 curso_01/       # 8 Tests unitarios (Fundamentos de Python)
├── 📁 curso_02/       # 8 Tests unitarios (Algoritmos y Estructuras)
├── 📁 curso_03/       # 8 Tests unitarios (Agentes de IA y Pydantic)
├── 📁 curso_04/       # 10 Tests unitarios e integración (FastAPI y SQLite)
└── 📝 README.md       # Guía técnica de la suite de pruebas
flowchart LR
    DEV["💻 Código del Alumno<br/>ejercicios/reto.py"] --> PYTEST["🧪 Pytest Test Runner<br/>34 Tests Unitarios"]
    PYTEST --> REPORT["📊 Reporte en Terminal<br/>100% Passing en < 0.3s"]
    REPORT --> GHA["⚙️ GitHub Actions CI<br/>Validación en cada Commit"]

    style DEV fill:#1e293b,color:#ffffff,stroke:#3b82f6,stroke-width:2px
    style PYTEST fill:#0f766e,color:#ffffff,stroke:#2dd4bf,stroke-width:2px
    style REPORT fill:#059669,color:#ffffff,stroke:#34d399,stroke-width:2px
    style GHA fill:#4338ca,color:#ffffff,stroke:#818cf8,stroke-width:2px

Comandos Frecuentes de Testing:

# Ejecutar todas las pruebas del repositorio
pytest

# Ejecutar únicamente las pruebas del Curso 1
pytest tests/curso_01/

# Ejecutar las pruebas con reporte verboso y nombres de tests
pytest -v tests/

🗺️ Mapa de Estructura del Repositorio

wisrovi-python/
├── 📁 .devcontainer/                   # 💻 Entorno reproducible para Codespaces y Docker Containers
├── 📁 .github/                         # ⚙️ Workflows CI/CD, issue templates y automatizaciones
├── 📁 01-fundamentos-python/           # 🎯 Curso 1: Fundamentos (8 Clases con PDF, libro, notebook y ejemplos)
├── 📁 02-algoritmos-estructuras/       # ⚡ Curso 2: Algoritmos & Estructuras de Datos (8 Clases)
├── 📁 03-agentes-ia/                   # 🤖 Curso 3: Desarrollo de Agentes de IA (8 Clases)
├── 📁 04-proyecto-final/               # 🛠️ Curso 4: Proyecto Integrador Full-Stack (8 Clases)
├── 📁 docs/                            # 🌐 Portal web documental oficial (academy_python.wisrovi.dev)
├── 📁 scripts/                         # 🔧 Herramientas de mantenimiento y compilación automatizada
├── 📁 src/                             # 📦 Código fuente del paquete CLI 'wisrovi'
├── 📁 tests/                           # 🧪 Suite de pruebas unitarias centralizada (34 tests)
├── 📄 mkdocs.yml                       # 📑 Configuración de MkDocs Material con Mermaid y Search
├── 📄 pyproject.toml                   # 📦 Especificación canónica de dependencias de Python (PEP 621)
└── 📄 README.md                        # 📌 Portal principal de navegación del programa

📜 Licencia y Filosofía Open Source

Este proyecto se distribuye bajo los términos de la Licencia MIT. Eres libre de estudiar, modificar, redistribuir y utilizar cualquier parte de este material tanto para propósitos educativos y académicos como para proyectos comerciales.

Si este programa formativo te resulta de utilidad en tu camino profesional, te invitamos a otorgar una ⭐️ al repositorio en GitHub para respaldar el software libre educativo en español.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wisrovi_python-1.0.0.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wisrovi_python-1.0.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file wisrovi_python-1.0.0.tar.gz.

File metadata

  • Download URL: wisrovi_python-1.0.0.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wisrovi_python-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bbc698fa959e3ae03c3fd5277750a8850ea84932707aa5a6ad000c108ec0283c
MD5 ce45b1d421b3b5054bfc626d1a6df402
BLAKE2b-256 7bcb5bd1ee8fc9257e07b8045c2574677db64c303ac8454636ad2f1de2db2c02

See more details on using hashes here.

File details

Details for the file wisrovi_python-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: wisrovi_python-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wisrovi_python-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 217f9ec588a160ccb1749aef8d41b433e6d15ef751c2adbc3761a3cfeca281f5
MD5 df14a40f627748ad62a3aad7ed455533
BLAKE2b-256 9120f9165fd40dc850468b8f51a3bde68c9ccc54e062e0105e51eb15982e7af1

See more details on using hashes here.

Release history Release notifications | RSS feed

2.6.0

2 files

2.5.1

2 files

2.5.0

2 files

2.4.0

2 files

2.3.0

2 files

2.2.1

2 files

2.2.0

2 files

2.0.1

2 files

2.0.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page