Programación II
Continuación natural de Programación I (PRO115). Asume que dominás variables, control de flujo y funciones, y avanza hacia los bloques con los que se construyen programas reales: estructuras de datos compuestas, recursión, archivos, manejo de errores y programación orientada a objetos.
¿Qué es lo nuevo respecto a Programación I?
En Programación I aprendiste a hacer un programa lineal que pide datos, calcula y muestra. Acá aprendés a manejar datos en grupo (listas, diccionarios), a leer/escribir archivos (que es como tu programa hable con el "afuera"), a manejar errores sin que el programa se caiga, y a organizar código grande en clases. Al terminar, vas a poder escribir programas con miles de líneas sin perderte.
Prerrequisitos
- Programación I (PRO115) completo.
- Python 3 instalado y editor configurado.
Cómo está organizado
Cada capítulo sigue las tres capas del proyecto: intuición, fundamento, aplicado.
| # | Capítulo | Idea central |
|---|---|---|
| 1 | Listas y tuplas | Trabajar con muchos datos del mismo tipo |
| 2 | Diccionarios y conjuntos | Mapeos clave→valor y colecciones únicas |
| 3 | Recursión | Funciones que se llaman a sí mismas |
| 4 | Archivos y excepciones | E/S persistente y manejo de errores |
| 5 | Clases y OOP | Organizar código complejo |
Proyecto-hilo
Vamos a evolucionar el sistema de Pupusería La Esquina que empezamos en Programación I:
- Cap 1: catálogo de productos como lista.
- Cap 2: precios como diccionario, inventario.
- Cap 3: cálculos recursivos (descuentos por niveles).
- Cap 4: persistir el menú y los pedidos en archivos.
- Cap 5: refactorizar todo con clases (
Producto,Pedido,Pupuseria).
Al final tenés un sistema funcional de pedidos persistente, capaz de cargar/guardar, manejar errores y crecer.
Qué viene después
Programación II prepara el camino para:
- Estructuras de Datos y Algoritmos (PRO315) — listas enlazadas, árboles, grafos, complejidad.
- Bases de Datos I (BDD315) — los datos persistentes de verdad, en SQL.
- Análisis y Diseño de Sistemas (ADS415) — diseño antes de codificar.
Vamos.