Paradigmas de Programación

Ciencias de la Computación

ISI-206 • Nivel 2

Principales paradigmas de programación: imperativo, POO, funcional y lógico.

Conceptos clave

Programación imperativaPOOProgramación funcionalProgramación lógicaPatrones de diseñoSOLID

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

Objetivos

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

Metodología de cursada

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

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

Criterios

  • 2 Parciales (cada uno 40% de la nota de cursada)
  • Trabajos Prácticos de programación (20%)
  • Examen final (100% de la nota final)

Bibliografía

Oficial

  • •Downey, A. Think Python. O'Reilly.
  • •Lutz, M. Learning Python. 5ª edición. O'Reilly.
  • •Flanagan, D. JavaScript: The Definitive Guide. 7ª edición. O'Reilly.

Complementaria

  • •Deitel, P. Java: How to Program. 11ª edición. Pearson.
  • •Schildt, H. Java: The Complete Reference. McGraw-Hill.
  • •Gamma, E. Design Patterns. Addison-Wesley.

Ejercicios tipo parcial

Preguntas oficiales con resolución para practicar antes del examen.

POO

Pregunta: 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

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