PROGRAMACIÓN 2
SEMESTRE U-2014
PROGRAMA DEL CURSO: Programación II
PRELACIÓN: Programación I
CÓDIGO: PR2
UBICACIÓN : 2 SEMESTRE
TPLU: 3 1 2 4
JUSTIFICACIÓN:
El computador es una de las herramientas fundamentales del Ingeniero de Sistemas, por lo
tanto, es necesario enseñar al futuro ingeniero su uso y aplicación práctica en la solución de
problemas de mediana y alta complejidad. Para ello es necesario desarrollar habilidades en
el uso de las técnicas actuales que simplifican y agilizan la tarea de diseño y construcción
de los programas computacionales requeridos, así como el conocimiento de los distinto
tipos de datos abstractos que se pueden emplear en el desarrollo de sistemas programados.
OBJETIVOS GENERALES:
1. Desarrollar en el estudiante la habilidad para el diseño y especificación orientada por
objetos e implantación de dichos diseños en un lenguaje de programación de alto nivel.
2. Introducir al estudiante en el manejo de técnicas para la organización de grandes
volúmenes de datos en archivos.
OBJETIVOS ESPECÍFICOS:
Al finalizar el curso el estudiante debe estar en capacidad de:
1. Conocer y manipular con destreza el concepto de abstracción de datos.
2. Diseñar, especificar e implantar tipos de datos abstractos.
3. Dominar con destreza los paradigmas de la orientación por objetos.
4. Conocer técnicas para la especificación, diagramación y desarrollo de sistemas
programados orientados por objetos.
5. Diseñar e implantar la solución de problemas de mediana complejidad utilizando los
distintos tipos de datos abstractos.
6. Conocer los distintos tipos de almacenamiento en memoria secundaria.
7. Conocer y manejar las distintas organizaciones de archivos para el almacenamiento
de datos persistentes.
8. Dominar los constructos de un lenguaje de programación de alto nivel orientado por
objetos.
CONTENIDO PROGRAMÁTICO
UNIDAD I: Introducción a la Orientación por objetos.
El objetivo de esta unidad es introducir al estudiante los conceptos básicos que soportan el
paradigma de la programación orientada a objeto y su implantación en un lenguaje de alto
nivel orientado a objetos. Además, se le presenta al estudiante una técnica básica que le
permite diseñar y especificar aplicaciones de pequeña y mediana escala.
Tema 1: Revisión de conceptos básicos.
Apuntadores
Registros
Funciones.
Tema 2: Tipos de datos abstractos.
Definición de un tipo de dato abstracto.
Clasificación de la abstracción.
Especificación de un tipo de dato abstracto.
Implementación de un tipo de dato abstracto en un lenguaje de alto nivel.
Tema 3: Conceptos sobre orientación por objetos y técnica de diseño y especificación
orientada a objeto.
Definición sobre programación orientada a objetos.
Definición de clases.
Definición de objetos.
Definición de identidad de objeto.
Definición de Composición
Definición de herencia.
Clasificación de la herencia
Definición de polimorfismo.
Definición de encadenamiento dinámico
Definición de clases paramétricas.
Tema 4: Tipo de Dato Abstracto (TDA): Cadena.
Definición de cadena.
Especificación formal del TDA Cadena.
Formas de implantar el TDA Cadena.
Ejercicios prácticos utilizando el TDA cadena.
Implantación del TDA Cadena en un lenguaje de programación orientado por
objetos.
UNIDAD II: Almacenamiento de datos.
En esta unidad se presentan al estudiante los distintos medios de almacenamiento de datos,
así como las técnicas para la organización y manipulación de grandes volúmenes de datos
en memoria secundaria. Una vez estudiadas las distintas técnicas el estudiante tendrá el
conocimiento necesario tanto para implantar cada una de las formas de organizar los datos
en memoria secundaria como implantar pequeñas aplicaciones que hagan uso de ello.
Tema 5: Introducción a la organización de archivos secuenciales.
Archivos tipo Texto.
Acceso sin clave (secuencial)
Archivos Binarios
Tema 6: Organización de archivos.
Acceso Directo
Acceso asociativo: Aleatorio (transformación clave-dirección)
Acceso secuencial indizado.
METODOLOGÍA DE ENSEÑANZA
En este curso se empleará una técnica interactiva entre alumnos y profesor conformado
por clases tutoriales, exposiciones por parte de los estudiantes y clases guiadas en el
Laboratorio.
RECURSOS
Se utilizarán clases presentadas en transparencias apoyadas por tutoriales
hipermedios elaborados para reafirmar los conocimientos presentados en las clases.
Laboratorio bien dotado de computadoras para realizar la parte práctica de la
materia y las clases guiadas en el laboratorio.
Recursos multimedios: vídeo beam.
EVALUACIÓN
4 Exámenes parciales. Cuyo promedio tiene un valor total del 65 % del curso.
Laboratorio 15%
Proyecto 20%
Observaciones sobre la evaluación
Para aprobar la materia se requiere: un porcentaje de asistencia superior al 75%.
Para aprobar el Laboratorio se requiere un porcentaje de asistencia al Laboratorio
superior al 75% y obtener una acreditación de aprobado (Promedio de prácticas >=
10).
Los exámenes parciales serán en el Laboratorio. No se aceptan entregan fuera de la
hora del examen.
La nota final del estudiante estará dada: por la suma de los porcentajes obtenidos en
cada evaluación.
La asistencia es obligatoria y el estudiante que tenga un 25% de inasistencia pierde
automáticamente la materia. El estudiante que no apruebe el laboratorio no aprobará
la materia.
BIBLIOGRAFÍA
LOOMIS S. E. MARY; Estructura de Datos y Organización de Archivos, Prentice
Hall 1991.
H. M. DEITEL, P. J. DEITEL; Como programar en C++, Prentice Hall, 2003.
WIEDERHOLD GIO; Introducción a las Bases de Datos, McGraw Hill 1984.
AHO & ULLMAN; Estructura de Datos, Addison-Wesley 1988.
ENENBAUM, Y. LANGSAN ,M. AUGENSTEIN; Estructura de Datos en C,
Prentice Hall, 1993.
Martin Fowler; UML Distilled appliying the standard object modeling language,
Addison wesley 1997.
Booch Grady Análisis y diseño orientado por objetos Addison Wesley 1996.
Martín J and Odell Análisis y diseño orientado por objetos Prentice Hall 1992.