Cursos
APO1 PDF Imprimir Correo electrónico

El curso APO1 (Algorítmica y Programación orientada a Objetos 1), es el primer curso de programación, donde se pretende que al final del curso el estudiante esté en capacidad de utilizar las herramientas y técnicas adecuadas para resolver un problema de una realidad simple en términos de un programa de computador.

Específicamente al finalizar el curso, el estudiante será capaz de: 

1. Analizar y especificar un problema simple construyendo un modelo del mundo del problema e identificando los requerimientos funcionales. 

2. Proponer una solución al problema: 

a. Refinar el modelo del mundo del problema hasta poderlo expresar en términos de clases, tipos básicos de datos y agrupamientos lineales simples. 

b. Asignar responsabilidades a cada clase, expresándolas en términos de métodos y parámetros y, además, explicar las colaboraciones entre las clases. 

c. Especificar dichos métodos usando contratos. 

3. Implementar el modelado y la solución de un problema sencillo en un subconjunto del lenguaje de programación Java. 

4. Expresar el modelo del mundo del problema y la arquitectura de la solución en un subconjunto del lenguaje UML. 

5. Utilizar con alguna facilidad un ambiente de desarrollo de software. 

6. Seguir un proceso de desarrollo, de leer y entender un formato, de crear un entregable. 

7. Escribir un programa siguiendo unos estándares predefinidos de documentación y codificación. 


 
APO2 PDF Imprimir Correo electrónico

El curso APO2 (Algorítmica y Programación orientada a Objetos 2), es el segundo curso de programación, donde el propósito de este curso 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.

Específicamente al finalizar el 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. 

 
Estructuras de Datos PDF Imprimir Correo electrónico

Estructuras de datos, es el último curso del ciclo básico de programación, el propósito de este curso es generar en el estudiante la habilidad de diseñar e implementar las estructuras de datos en memoria principal necesarias para resolver un problema, teniendo en cuenta un conjunto de restricciones y criterios de calidad.

Específicamente al finalizar el curso, el estudiante será capaz de: 

1. Diseñar e implementar una estructura contenedora abstracta, garantizando el desacoplamiento entre su descripción funcional y su representación interna. 

2. Proponer y justificar el diseño de unas estructuras de datos para resolver un problema, utilizando como argumentos la complejidad de los algoritmos que implementan las operaciones críticas, el espacio ocupado en memoria y la flexibilidad. 

3. Entender los diferentes tipos de estructuras de datos que se pueden utilizar para modelar los elementos de un mundo. 

4. Escribir los algoritmos que manipulan las principales estructuras de datos lineales, de acceso directo, recursivas y no lineales. 

5. Utilizar patrones de diseño comunes para la solución de problemas específicos en un sistema. 

6. Utilizar una arquitectura multi-capas para implementar un programa, desarrollando cada parte como un componente independiente. 

7. Utilizar tecnología actual para el soporte al diseño y desarrollo de aplicaciones que involucran diversos componentes.