Programación I

Anuncio
División Académica de Ciencias Básicas
PROGRAMA DE ESTUDIOS
Programación IV
Licenciatura en Ciencias Computacionales
Área a la que
pertenece:
Horas teóricas:
Horas
prácticas:
Créditos:
Clave:
Área Sustantiva
Profesional
3
2
8
F0166
Asignaturas antecedentes y subsecuentes
Programación III, Programación V
PRESENTACIÓN
Las tecnologías Orientadas a Objetos se han convertido desde la década de los
noventas en uno de los motores claves de la industria del software. El desarrollo de
programas orientados a objetos es un enfoque diferente en el mundo informático.
Implica la creación de modelos del mundo real y de programas informáticos basados
en esos modelos. El principio básico de la programación orientada a objetos es que
un sistema de software se ve como una secuencia de “transformaciones” en un
conjunto de objetos. Esta materia introduce al alumno en esta nueva forma de
abstraer la información y posteriormente programarlo en un lenguaje particular.
OBJETIVO GENERAL
EL alumno aprenderá una nueva forma de pensar sobre lo que significa programar,
es decir, como se puede estructurar un programa para la computadora, cuyo código
pueda ser reutilizado.
F0166_Programación IV
1/6
División Académica de Ciencias Básicas
Licenciatura en Ciencias Computacionales
CONTENIDO
Unidad
1
No.
Objetivo
particular
Hrs estimadas
ELEMENTOS DE LA PROGRAMACIÓN ORIENTADA A
OBJETOS ( POO)
Introducir al alumno en los conceptos básicos que conforman la
Programación Orientada a Objetos.
Temas
1.0. Programación
Estructurada
vs.
Programación Orientada a Objetos.
1.2. Diferencia entre los lenguajes
basados en objetos, basados en
clases y orientados a objetos.
1.3. Definición
de
Programación
Orientada a Objetos.
1.4. Orientación a Objetos.
1.5. Elementos del Modelo Orientado a
Objetos.
1.6. Abstracción de datos.
1.7. Encapsulamiento
1.8. Modularidad
1.9. Jerarquía
1.10. Polimorfismo
Unidad
No.
Objetivo
particular
2
Resultados del aprendizaje
El alumno podrá diferenciar entre la
programación
estructurada
y
la
programación orientada a objetos; así
como las características de los
Lenguajes OO.
OBJETOS
El elemento básico de la Programación Orientada a Objetos es el
Objeto. En esta unidad el alumno aprenderá las propiedades de los
objetos.
Hrs estimadas
Temas
2.1. Definición de Objeto.
2.2. Métodos y mensajes.
2.3. Clases
2.4. Implementación de clases en un
lenguaje de programación.
2.5. Duración de los objetos.
2.6. Diferencia entre Clase y Objeto.
2.7. Herencia.
2.8. Tipos de Herencia.
F0166_Programación IV
Resultados del aprendizaje
El alumno podrá crear clases y objetos
(instancias
de
las
clases)
y
manipularlos.
2/6
División Académica de Ciencias Básicas
2.9.
2.10.
2.11.
2.12.
2.13.
2.14.
Licenciatura en Ciencias Computacionales
Activación de Objetos.
Estructura interna de un objeto.
Clases abstractas..
Anulación y sustitución.
Sobrecarga.
Objetos Compuestos.
Unidad
3
No.
Objetivo
particular
Hrs estimadas
CONSTRUCCIÓN DE OBJETOS
Implementar a través de un lenguaje de programación el paradigma
de la Programación Orientada a Objetos.
Temas
3.1. Construcción de clases en C++.
3.2. Miembros.
3.3. Privados.
3.4. Públicos.
3.5. Protegidos.
3.6. Constructores y Destructores.
3.7. Declaración de Objetos.
3.8. Especificación e implementación de
clases.
3.9. Compilación separada de clases.
3.10. Técnicas
de
creación
e
inicialización de objetos
3.11. Objetos dinámicos.
3.12. Inicialización y limpieza de objetos.
3.13. Funciones miembro.
3.14. Control de acceso a los miembros
de una clase.
Unidad
No.
Objetivo
particular
4
Resultados del aprendizaje
El alumno podrá diseñar objetos
considerando cada uno de los miembros
que debe contener así como el tipo al
que pertenece.
CLASES ABSTRACTAS Y HERENCIA
Las jerarquías de clase forman un papel importante en el diseño y
la Programación Orientada a Objetos; las clases de una jerarquía
pueden ser abstractas o concretas. En esta unidad el alumno
aprenderá a crear clases abstractas y clases derivadas (Herencia).
Hrs estimadas
Temas
4.1. Clases Abstractas.
4.2. Herencia Simple
4.3. Herencia Múltiple
4.4. Funciones virtuales puras.
F0166_Programación IV
Resultados del aprendizaje
Conocer como programar las herencias
en un lenguaje Orientado a Objetos
3/6
División Académica de Ciencias Básicas
Unidad
No.
Objetivo
particular
5
Licenciatura en Ciencias Computacionales
POLIMORFISMO
El polimorfismo permite referirse a objetos de diferentes clases por
medio del mismo elemento de programa y realizar la misma
operación en forma diferente. En esta unidad se programara el
polimorfismo usando ligadura dinámica entre llamadas a funciones
y los cuerpos reales de dichas funciones.
Hrs estimadas
Temas
5.1. Ventajas del Polimorfismo.
5.2. Ligadura.
5.3. Funciones Virtuales.
5.4. Ligadura
dinámica
mediante
funciones virtuales.
5.5. Polimorfismo con y sin ligadura
dinámica.
Resultados del aprendizaje
El alumno podrá abstraer situaciones de
la vida real donde se observe
claramente el polimorfismo y podrá
representarlo en un lenguaje OO.
Unidad
No.
Objetivo
particular
PLANTILLAS
6
Una de las ideas claves del mundo de la programación es la
posibilidad de diseñar clases y funciones generalizadas que actúen
sobre tipos arbitrarios o genéricos. El alumno aprenderá como
crear plantillas y su utilización
Hrs estimadas
Temas
6.1. Conceptos fundamentales de las
plantillas.
6.2. Definición
de
plantillas
de
funciones.
6.3. Problemas
en
las
funciones
plantillas.
6.4. Plantillas de Clase.
6.5. Plantillas frente a polimorfismo.
Unidad
No.
Objetivo
particular
7
Resultados del aprendizaje
El alumno podrá diseñar clases que al
ser instanciados puedan ser utilizados
con distintos tipos de datos.
EXCEPCIONES
Cuando una situación anormal se produce durante la ejecución, el
programa puede terminar. Es esta unidad el alumno aprenderá a
recoger información en el momento exacto antes de que el
programa termine, para analizar las causas que provocaron la falla.
Hrs estimadas
F0166_Programación IV
4/6
División Académica de Ciencias Básicas
Temas
7.1. Concepto de excepciones
7.2. Manejo de excepciones
7.3. El mecanismo de excepción.
7.4. Lanzamiento de excepciones
7.5. Manejadores de excepciones.
7.6. Especificación de excepción.
Licenciatura en Ciencias Computacionales
Resultados del aprendizaje
El alumno aprenderá a controlar
situaciones que causen que el programa
pueda causar un error.
Sugerencias didácticas
UNIDAD 1
Proporcione ejemplos donde el alumno claramente observe como cambia la
abstracción para la solución del problema utilizando la POO.
UNIDAD 2
Se recomienda utilizar un lenguaje de POO que no sea visual para que el alumno no
se confunda con los componentes que ya se encuentran definidos en este tipo de
lenguajes.
Puede utilizar estructuras de datos como ejemplos para que el alumno aplique los
conceptos de la programación orientada a objetos.
El lenguaje recomendado es Turbo C++.
UNIDAD 3
El alumno debe elaborar ejercicios prácticos para que observe como funciona el
objeto.
Es recomendable que utilice objetos conocidos para que el abstraiga sus
características y pueda modelarlo correctamente.
El lenguaje considerado para impartir el curso el Turbo C++, sin embargo puede
utilizar otro lenguaje Orientado a Objetos como JAVA; ó inclusive puede implementar
un objeto con los dos lenguajes para que el alumno observe las diferencias.
UNIDAD 4
Proporcione ejemplos tipo, para que el alumno observe claramente los tipos de
herencias y pueda posteriormente abstraer nuevos casos.
Procure que el alumno programe ejercicios donde aplique los tipos de herencia.
UNIDAD 5
Esta Unidad está orientada al lenguaje Turbo C++, sin cualquier lenguaje orientado a
objetos que sigan estrictamente el paradigma orientado a Objetos ofrecen ligadura
dinámica, postergada o retardada.
Proporcione ejemplos tipo, para que el alumno comprenda el polimorfismo.
UNIDAD 6
Se recomienda hacer plantillas de las estructuras de datos pilas, colas, listas.
Esta Unidad está orientada a Turbo C++; Si usted esta empleando otro lenguaje OO
puede enseñar algo específico del mismo.
UNIDAD 7
Proporcione al alumnos casos en los que observe claramente donde ocurren errores
que deben ser controlados.
F0166_Programación IV
5/6
División Académica de Ciencias Básicas
Licenciatura en Ciencias Computacionales
Estrategias de evaluación del aprendizaje
El alumno debe realizar tareas donde proporcione ejemplos de cada una de las
características de la POO. EL profesor debe evaluar que el alumno domine los
conceptos de la POO.
El alumno deberá realizar programas donde aplique los temas vistos en la Unidad;
estos programas le darán puntos para obtener su nivel de competencia; para obtener
su calificación final realice un examen escrito.
Para obtener el nivel de competencia de esta Unidad aplique un examen escrito y
promedie con las calificaciones obtenidas de cada uno de los programas que el
alumno entregó de tarea.
Bibliografía
Básica
Bibliografía
Complementaria
1.
Joyanes, Luis; Programación Orientada a Objetos. 2da
Edición. Madrid:McGraw Hill; 1998. ISBN 84-481-2015-9
2.
CEBALLOS, Francisco Javier; El Lenguaje de
Programación JAVA; Alfa Omega Grupo Editor, 2002.
ISBN 970-15-0793-2
CEBALLOS, Francisco Javier; Programación orientada a
objetos con C++ (2ª Edición);Coedición: ComputecRama, 1998.
Walnum, Clayton / Stevens, Al; Programación con C++
(Colección: Programación);Editorial Anaya Multimedia.
1a. edición. 19 Octubre 2000. ISBN: 84-415-1083-0.
JOYANES Aguilar, Luis; C++ iniciación y referencia;
Editorial McGraw-Hill Interamericana. 1999.
Deitel, Harvey M. / Deitel, Paul J.; C++ Cómo programar
(2ª edición); PRENTICE HALL. 1999. 1184 págs. 19x23.5
cm.
BRONSON GARY J.; C++ para ingeniería y
ciencias;Editorial INTERNAL. THOMSON EDRS. SA CV.
1999.
JAMSA, Kris; Aprenda C++ paso a paso (2ª
Edición);Alfaomega Grupo Editor (Computec) 1997.
SCHILDT HERBERT;C++ para programadores; Editorial
MCGRAW HILL DE MÉXICO. 1996.
Stroustrup, Bjarne; El lenguaje de programación C++ (2ª
edición);Prentice Hall. 1993.
3.
4.
5.
6.
7.
8.
9.
10.
F0166_Programación IV
6/6
Descargar