INSTITUTO TECNOLÓGICO SUPERIOR DE SANTIAGO PAPASQUIARO INSTITUTO TECNOLÓGICO SUPERIOR DE SANTIAGO PAPASQUIARO LICENCIATURA EN INFORMÁTICA PROGRAMA DE LA MATERIA DE: Fundamentos de Programación ELABORÓ I.S.C. LUIS FERNANDO RIVERA CARRILLO AGOSTO 2008 – ENERO 2009 SANTIAGO PAPASQUIARO, DGO. JULIO DE 2008 Fundamentos de Programación PROGRAMA DEL ALUMNO 1. Planeación Didáctica. 1.1. Ubicación teórica. Nombre: Fundamentos de Programación Carrera donde se imparte: Licenciatura en Informática. Semestre: Primero. Tipo de materia: teórica / Práctica. Horas de clase por semana: 5. Créditos (HT – HP – CR): 3-2-8 1.2 Ubicación de la materia. 1.2.1. Ubicación teórica. Materias anteriores: Materias paralelas: Materias posteriores: Programación 1 1.2.2. Ubicación práctica. Tipos de alumnos: clase media, ambos sexos, trabajadores. Tamaño de Grupo: medianos 20 a 30 alumnos. Horario: vespertino. Recursos: salón austero, retroproyector y pantalla, equipo de cómputo, cañón, Laboratorio de cómputo, Investigación de campo. 1.3 Aportación de la asignatura al perfil del egresado. 1.4. Objetivos generales de aprendizaje. ELEMENTO INFORMATIVOS TIPO EXPLICACIÓN Desarrolla habilidades y actitudes que le permiten identificar problemas y oportunidades donde se aplique el tratamiento CONOCER de información para proponer soluciones por medio de modelos y facilitar con ello la toma de Desarrolla y administra sistemas de información para aumentar la productividad y competitividad de las COMPRENDER organizaciones. Permite dirigir y participar en grupos de trabajo multi e interdisciplinarios que propongan soluciones integrales en su entorno Ofrece los criterios para poder seleccionar herramientas computarizadas utilizadas en la etapa de diseño, construcción MANEJAR y documentación de sistemas de información. Pág. 25 PROGRAMA DEL ALUMNO 1.5 Contenido temático. UNIDAD 1. Evolución de los paradigmas de programación. 1,2,3,6,8,9,10 1.1 Programación lineal. 1.2 Programación estructurada. 1.3 Programación orientada a objetos. 1.4 Relación entre la programación orientada a objetos y la programación estructurada. 1.5 Metodología para la solución de problemas basados en computadora. UNIDAD 2. Fundamentos del paradigma orientado 2.1 Introducción a la Programación orientada a objetos. 2.1.1 Orígenes de la POO. 2.1.2 Beneficios de la POO. 2.2 Clases. 2.2.1 Encapsulamiento. 2.2.1.1 Concepto de caja negra. 2.2.1.2 Concepto de interfaz. 2.2.2 Abstracción. 2.2.2.1 Abstracción efectiva. 2.2.2.2 Ocultamiento de información. 2.2.2.3 Atributos. 2.2.2.4 Métodos. 2.2.2.5 Mensajes. 2.2.3 Diseño de una clase. 2.3 Objetos. 2.3.1 Ciclo de vida de un objeto. 2.3.2 Estado y comportamiento de los objetos. 2.4 Herencia y Polimorfismo. 2.4.1 Conceptos básicos. 2.4.2 Relación entre la herencia y el polimorfismo. UNIDAD 3. Construcción del estado 3.1 Tipos de datos primitivos. 3.1.1 Numéricos. 3.1.2 Caracteres. 3.1.3 Cadenas. 3.1.4 Lógicos. 3.2 Tipos de datos no primitivos. 3.2.1 Arreglos. 3.2.2 Apuntadores. 3.3 Identificadores, variables y constantes. UNIDAD 4. Construcción a objetos. 1,2,3,6,8,9 de un objeto (atributos). 1,2,5,8,9 del comportamiento de un objeto (operaciones). 3,4,5,6,7,9 4.1 Diseño de métodos (funciones). 4.1.1 Técnicas de formulación de algoritmos. 4.1.2 Tipos de algoritmos. 4.1.2.1 Algoritmos determinísticos. 4.1.2.2 Algoritmosaproximados. 4.1.2.3 Algoritmos heurísticos. 4.1.2.4 Algoritmos voraces. 4.1.3 Algoritmos probabilísticos. 4.1.4 Identificación del problema. 4.1.5 Planteamiento del problema. 4.1.6 Análisis del problema. (Alternativas de solución). 4.1.7 Diseño de la solución. 4.1.8 Pruebas y depuración. 4.1.9 Documentación. Pág. 26 PROGRAMA DEL ALUMNO 4.2 Operadores. 4.2.1 Aritméticos. 4.2.2 Lógicos. 4.2.3 Jerarquía de operadores. 4.3 Expresiones. 4.4 Estructuras de control. 4.4.1 Selectivas. 4.4.2 Iterativas. UNIDAD 5. Modelado de aplicaciones utilizando 5.1 Identificar y plantear el problema. 5.2 Principios básicos de modelado de objetos. 5.3 Introducción a un lenguaje de modelado. 5.4 Modelar sus clases. 5.5 Modelar relaciones entre clases 5.5.1 Dependencia. 5.5.2 Asociación. 5.5.3 Composición. 5.5.4 Generalización la POO. 1,2,5,7,8,9 1.6 Metodología de trabajo. Este es un curso practico-teórico, se manejan conceptos, prácticas con equipos de computo(armado y desarmado), conocer un poco de todo lo que implica un sistema de computo. Se encargarán principalmente exposiciones grupales, tareas y demás los equipos de trabajo elaborarán una recopilación de lo que fue su exposición, incluyendo la presentación y materiales expuestos, así como sus practicas correspondientes. 1.7 Criterios y mecanismos para: 1.7.1. La calificación. Exámenes Parciales Practicas / Participación Asistencia 35% 35% 30% 1.7.2. La acreditación. Calificación mínima de 70 en cada examen parcial. Buena disposición hacia la clase. Respeto a sus compañeros Entrega de practicas y tareas (no mas de un día hábil) Para presentar examen de regularización se debe de aprobar cuando menos el 40% de las unidades del programa de la materia. Para presentar examen extraordinario se debe de tener aprobado cuando menos el 70% de las unidades del programa de la materia. 1.7.2. La evaluación. Los procedimientos que intervienen para la evaluación del alumno son: participación, prácticas, asistencias, tareas y la aplicación del examen Pág. 27 PROGRAMA DEL ALUMNO 1.8 Bibliografía básica y complementaria. 1. Greg Perry. Aprendiendo Principios de Programación en 24 horas, Prentice Hall. 2. Anthony Sintes. Aprendiendo Programación Orientada a Objetos en 21 Lecciones Avanzadas. México: Prearson Educación. 2002. 3. Timothy Budd. Introducción a la Programación Orientada a Objetos. USA: Addison-Wesley Iberoamericana, 1994. 4. Grady Booch/Addison-Wesley/Diaz de Santos. Analisis y Diseño Orientado a Objetos con Aplicaciones. Segunda Edición, México: Addison-Wesley. 1994. 5. James Martin/James J. Odell. Analisis y Diseño Orientado a Objetos. Prentice Hall Hispano-Americana. 6. Andrew C. Stauggard Jr. Técnicas Estructuradas y Orientadas a Objetos. Prentice Hall Hispano-Americana. 1998 7. Michael Blaha/William Premerlani/Fred Eddy/William Lorensen, Programación Orientada A Objetos. Conceptos, odelado, Diseño y Codificacion en C++. Madrid España: Prentice Hall, 1996. 8. Luis Joyanes Aguilar. Problemas de Metodología de la Programación. Ed. Mc Graw Hill. 1997. 9. Meyer Bertrand.Construcción de Software Orientado a Objetos. Prentice Hall. Referencias en Internet [10] www.jugarjuegos.com./juegos/java Desarrollo de estrategias de solución de problemas) [11] www.omg.org/uml [12] www.uml.org 11. PRÁCTICAS Unidad Práctica 1 Describir las características y funciones de componentes de objetos utilizados cotidianamente tales como: video casetera, horno de microondas, teléfono público, refrigerador público expendedor de refresco, etc. 2 Modelar clases básicas como: empleado, estudiante, cadena de caracteres, vector, etc. Pág. 28