Créditos
4
Horas Estimadas
27h
Temas
9
Temario
Conceptos de programación
Paradigmas, abstracción, lenguajes representativos
2h 0min
Programación imperativa
Estructuras de control, modularidad, parámetros
2h 20min
Programación estructurada y modular
Secuencial, selección, iteración, módulos, alcance
2h 20min
POO: clases, herencia, polimorfismo
Encapsulamiento, herencia, polimorfismo, interfaces
5h 40min
Principios SOLID
SRP, OCP, LSP, ISP, DIP, acoplamiento, cohesión
3h 20min
Programación funcional
Funciones puras, higher-order, inmutabilidad, Haskell
4h 20min
Programación lógica
Prolog, hechos, reglas, backtracking, unificación
3h 20min
Comparación de paradigmas
Ventajas, desventajas, multi-paradigma
2h 0min
Lenguajes representativos
C, Java, Python, Haskell, Prolog, Lisp, Scala
2h 20min
Metodología
Teoría
Clase teórica sobre conceptos de programación, tipos de datos, estructuras de control y diseño.
Práctica
Laboratorio de programación con ejercicios prácticos en Python y Java.
Actividades
- Ejercicios de programación en Python
- Implementación de clases en Java
- Trabajos Prácticos de diseño de clases
- Resolución de problemas algorítmicos
- Análisis de código y depuración
Evaluación
Regularidad
Aprobar como mínimo 2 parciales con nota >= 4. Asistencia regular obligatoria (80% mínimo).
Promoción
Examen final escrito y práctico de programación.
Recuperatorio
Recuperatorio en el primer semestre del año siguiente.
Objetivos de Aprendizaje
- Dominar los fundamentos de la programación imperativa.
- Comprender los principios de la programación orientada a objetos.
- Implementar programas con estructuras de datos básicas.
- Aplicar diseño de clases y patrones simples.
Competencias
- Programar en Python y Java con fluidez.
- Diseñar clases y objetos con encapsulamiento.
- Implementar estructuras de datos básicas.
- Resolver problemas con programación orientada a objetos.
Ejercicios Tipo Parcial
POO
2/5
Diseñar una clase CuentaBancaria con métodos depositar, extraer y consultar saldo.
Solución: Clase con atributo privado saldo, constructor, métodos con validación de saldo para extraer.
Estructuras de datos
2/5
Implementar una pila (stack) en Python usando listas.
Solución: class Stack: def __init__(self): self.items=[]; def push(self,item): self.items.append(item); def pop(self): return self.items.pop()
Preguntar al Tutor
Resolvé dudas sobre esta materia
Practicar
Ejercicios adaptativos por tema
Crear Flashcards
Repetición espaciada para memorizar
Cargando materiales...