ISIS1209
Algorítmica y Programación por Objetos II (Honores)

Nombre del curso: Algorítmica y Programación por Objetos II (Honores)
Course Name: ——-
Nivel de Formación: Fundamentación – Programación (F2)
Créditos: 3
Profesor: Álvaro Gómez D'Alleman (alvar-go-at-uniandes.edu.co)

Introducción y descripción general del curso

El curso APO2 (Algorítmica y Programación orientada a Objetos 2), es el segundo curso de programación, cuyo propósito es continuar avanzando en los temas tratados en el primer curso de programación, introduciendo nuevos conceptos y generando las habilidades necesarias para manejarlos. En particular, se estudian nuevos elementos con los cuales se pueden modelar las entidades del mundo del problema, y se ven algunas técnicas nuevas para implementar los algoritmos que resuelven problemas un poco más complejos.

En el curso con honores se abordaran problemáticas avanzadas relacionadas con cada uno de los temas del curso. Con el fin de responder a dichas problemáticas, se presentarán conceptos y técnicas que permitan al estudiante explorar diferentes alternativas de solución y seleccionar la más apropiada.

Objetivos pedagógicos

Al final del curso, el estudiante será capaz de:

  1. Utilizar algoritmos simples de búsqueda y ordenamiento como parte de la solución de un problema.
  2. Construir las pruebas unitarias automáticas de un programa.
  3. Utilizar archivos secuenciales, tanto como un medio para hacer persistir el estado del modelo del mundo, como una manera de recuperar y salvar información de la memoria secundaria.
  4. Estudiar las estructuras enlazadas, como una forma dinámica de modelar características de los elementos del mundo con una cardinalidad variable.
  5. Utilizar la recursión como una técnica para escribir un algoritmo.
  6. Estudiar las estructuras recursivas como una manera de representar modelos jerárquicos y de manejar conjuntos de objetos de manera ordenada.
  7. Estudiar algunos mecanismos de reutilización de clases (como la herencia) y de definición de contratos (como las interfaces).
  8. Estudiar los elementos involucrados en la construcción de una interfaz usuario que utiliza elementos gráficos.
  9. Estudiar la algorítmica y la tecnología que soportan algunos requerimientos no funcionales simples, asociados con la persistencia de la información y la distribución.

Métodología

El curso está organizado en 6 niveles que corresponden a objetivos pedagógicos específicos y a un conjunto de
conocimientos y habilidades que se introducen o se refuerzan. Para cada nivel, el profesor trabajará durante la clase
utilizando ejemplos que muestran los conceptos del nivel y en las sesiones de laboratorio se dará material de refuerzo a
lo visto en clase. Adicionalmente, y como parte de su trabajo individual, el estudiante deberá desarrollar un ejercicio. Un ejercicio corresponde a la solución de un problema simple, utilizando los conocimientos y las habilidades trabajados en el nivel.

Buscando que el estudiante de honores conozca diferentes alternativas de solución y aplicaciones de los temas vistos en el curso, durante cada nivel se podrán plantear uno o más retos en los que se exploran problemáticas avanzadas relacionadas con los objetivos pedagógicos de cada nivel.