Paradigmas de Programación

Ciencias de la Computación

ISI-206 • Nivel 2

Créditos

4

Horas Estimadas

27h

Temas

9

Correlativas

Temario

1

Conceptos de programación

Paradigmas, abstracción, lenguajes representativos

2h 0min

2

Programación imperativa

Estructuras de control, modularidad, parámetros

2h 20min

3

Programación estructurada y modular

Secuencial, selección, iteración, módulos, alcance

2h 20min

4

POO: clases, herencia, polimorfismo

Encapsulamiento, herencia, polimorfismo, interfaces

5h 40min

5

Principios SOLID

SRP, OCP, LSP, ISP, DIP, acoplamiento, cohesión

3h 20min

6

Programación funcional

Funciones puras, higher-order, inmutabilidad, Haskell

4h 20min

7

Programación lógica

Prolog, hechos, reglas, backtracking, unificación

3h 20min

8

Comparación de paradigmas

Ventajas, desventajas, multi-paradigma

2h 0min

9

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...