Atributos
Sigla: 
CI-0112
Créditos: 
4
Horas: 
5
Clasificación: 
Curso propio
Énfasis y ciclo: 
Tronco común 1.II
Descripción: 

Este curso fomenta en el estudiante habilidades generales para la resolución de problemas de programación, con énfasis en la etapa de implementación de soluciones. Se usa el paradigma de programación orientado a objetos porque permite solucionar problemas de forma más natural.

Objetivo general: 

El objetivo general del curso es que el estudiante sea capaz de resolver problemas mediante la programación de computadoras utilizando el paradigma de programación orientado a objetos.

Objetivos específicos: 

Durante este curso el estudiante desarrollará habilidades para:

  1. Explicar el modelo de ejecución de los programas.
  2. Analizar problemas y diseñar soluciones básicas orientadas a objetos.
  3. Implementar soluciones utilizando el paradigma de programación orientado a objetos.
  4. Validar informalmente la ejecución de los programas mediante la definición de un conjunto básico de casos de prueba.
  5. Aplicar buenas prácticas de programación.
  6. Implementar y manipular estructuras de datos.
  7. Implementar algoritmos básicos.
  8. Utilizar un ambiente de desarrollo integrado.
  9. Corregir errores en programas utilizando un depurador.
Contenidos: 
Objetivo específico Eje temático Desglose
1 Modelo de ejecución de programas Rastreo de memoria de programa.
2 Resolución de problemas Proceso de resolución de problemas, análisis, diseño, implementación, prueba, patrones, técnicas de resolución de problemas: divide y vencerás.
2,3 Diseño e implementación de soluciones Conceptualización y definición de clases, atributos de clases, instancias de clases, tipos y variables, parte pública, parte privada.
2,3 Diseño e implementación de soluciones Conceptualización e implementación de métodos (sin parámetros, con parámetros de valor, con parámetros de referencia), constructores y destructores.
6 Estructuras de datos Estructuras de datos estáticas: arreglos de una y más dimensiones.
6 Estructuras de datos Estructuras de datos dinámicas: lista enlazada y árbol binario.
3,5,7 Entrada y salida de datos Flujos de entrada y salida de datos. Validación de datos.
7 Algoritmos Estructuras básicas de control: secuenciación, bifurcación, iteración.
7 Algoritmos Algoritmos básicos de búsqueda como: secuencial y binaria, y algoritmos de ordenamiento como: burbuja, selección e inserción.
7 Algoritmos Funciones recursivas tales como: factorial, Fibbonacci, multiplicación de enteros, potencia de dos números, máximo común divisor de dos números, Torres de Hanoi; además, recorrido, inserción y borrado sobre árboles binarios.
8, 9 Herramientas de desarrollo Herramientas de desarrollo: compilador, depurador, ambiente de desarrollo integrado (IDE).
4,5,8,9 Calidad de programas Casos de prueba básicos: casos extremos, intermedios, inválidos.
Buenas prácticas de programación: nombres significativos, convenciones de escritura de nombres (clases, variables, métodos, constantes), disposición del texto (tabulación, delimitadores de bloques, espacios y líneas en blanco), documentación interna, orden de las declaraciones (campos, constructores, métodos), modificadores de acceso (privado y público), uso de constructores.
Bibliografía: 

-    Barnes, David y Kolling, Michael. Programación orientada a objetos con Java usando BlueJ. Quinta edición. Pearson. 2013.
-    Deitel y Deitel. Java How To Program: Early Objects. Décima edición. Pearson. 2014.
-    Wu, C. Thomas. An Introduction to Object-Oriented Programming with Java. McGraw-Hill. Quinta edición. 2009.
-    Ceballos, Francisco Javier. Java2: Curso de Programación. Cuarta edición. Editorial Alfaomega. 2011.
 

LIberación de responsabilidad: 

Este no es un documento oficial. Documentos oficiales se entregan en la secretaría de la escuela.