Download syllabus - Aulas Virtuales Universidad Militar Nueva Granada
Document related concepts
Transcript
UNIVERSIDAD MILITAR NUEVA GRANADA CONTENIDO PROGRAMÁTICO Fecha Emisión: 2015/09/30 Revisión No. 2 AC-GA-F-8 Página 1 de 4 NOMBRE DEL CONTENIDO PROGRAMÁTICO Programación II CÓDIGO 10103 PROGRAMA Pregrado de Ingeniería Industrial (Distancia) ÁREA Y/O COMPONENTE DE FORMACIÓN Ciencias de la Ingeniería SEMESTRE Segundo (2°) PRERREQUISITOS Ninguno COORDINADOR Y/O JEFE DE ÁREA David Leonardo Molano Franco DOCENTE (S) Liliana Constanza Contreras Callejas CRÉDITOS ACADÉMICOS 3 JUSTIFICACIÓN La programación orientada a objetos, como conjunto complejo de datos y programas estructurados en un sistema, amplia la visión de los estudiantes como programadores con conceptos de mayor dimensión y abstracción, los cuales le permitan resolver problemas de un grado de complejidad más alto y cercano a la realidad. Con esta orientación se adquieren habilidades complejas para programar y abordar problemas de forma integral; además, con esta nueva perspectiva se puede aplicar el desarrollo e implementación básica de software en cualquier área, como computación gráfica, procesamiento de imágenes, simulación, realidad virtual, animación entre otras. De acuerdo a lo anterior se persigue profundizar en la formación del manejo de herramientas y técnicas informáticas, ya que se encuentran elementos formales con los cuales se pueden llevar a cabo procesos de análisis, diseño, reutilización y optimización del software. OBJETIVO GENERAL Presentar los conceptos y aplicaciones de la programación orientada a objetos y sus ventajas en el desarrollo de software, solucionando problemas algorítmicos al involucrar una representación interna de la información a través de listas, pilas y colas. COMPETENCIA GLOBAL Utiliza las técnicas de POO como herramienta de diseño y desarrollo de sistemas informáticos flexibles a los cambios en los procesos, fortaleciendo a su vez el pensamiento lógico, sistémico y creativo. COMPETENCIAS ESPECÍFICAS 1. OCUPACIONALES Y PROFESIONALES Realiza el planteamiento y modelamiento mediante expresiones de programación orientada a objetos para describir situaciones y optimizar procesos. Identifica, analiza y selecciona el lenguaje de programación orientada a objetos más adecuado para aplicaciones requeridas por casos especiales. Se actualiza continuamente en los lenguajes de programación más usados en las áreas de productividad y administración organizacional. Almacena, manipula y combina información basada en el manejo de las estructuras de POO 2. COGNITIVAS Utiliza diferentes estruturas fundamentales de programación. Identifica las propiedades y relaciones entre los lenguajes de programación. Desarrolla aplicaciones en lenguajes de programación de alto nivel. Implementa los TADs (Tipo Abstractos de Datos) para generar algoritmos que reflejen un conocimiento global de la El uso no autorizado así como la reproducción total o parcial de su contenido por cualquier persona o entidad, estará en contra de los derechos de autor. Página 1 de 4 UNIVERSIDAD MILITAR NUEVA GRANADA realidad Realiza la abstracción de la realidad y la plasma mediante una clase para luego generar objetos que permitan simular un comportamiento real Reutiliza y hace colecciones de clases que permitan generar modelos incrementales fáciles de mantener. Aplica todo el paradigma de programación orientado a objetos en el manejo y desarrollo de listas encadenadas y árboles. Analiza, diseña, implementa y documenta problemas de programación. Refuerza y desarrolla su pensamiento analítico, lógico, analógico, sistémico y reflexivo 3. COMUNICATIVAS Maneja con pertinencia la terminología de programación para seleccionar y aplicar lenguajes de programación Presenta en forma clara y concisa documentos, reportes, resúmenes, informe y ensayos de aplicación de temas relacionado a los lenguajes de POO y casos de aplicación a solución de problemas Incrementa su capacidad personal para trabajar en grupo, realizando aportes pertinentes y valorando opiniones. Expresa con claridad y oportunidad sus ideas a un grupo de trabajo interdisciplinario. 4. INVESTIGATIVAS Aumenta la capacidad personal para la inducción, deducción y análisis de diversas situaciones para resolver problemas de aplicación. Desarrolla habilidades para buscar, procesar y analizar información procedente de diferentes fuentes Adquiere y refuerza su pensamiento lógico, analítico, sistémico y creativo Desarrolla formas de pensar propias del conocimiento general y científico. CONTENIDOS 1. UNIDAD MODULAR I. “TIPOS ABSTRACTOS DE DATOS (TADs)” 1.1. OBJETIVO ESPECÍFICO Presentar la importancia de la abstracción de tipos de datos y su implementación en un lenguaje de programación, capacitando al estudiante para la implementación de TADs. 1.2. TEMAS Concepto de Tipo Abstracto. Implementación de un TAD. Operaciones de inserción y extracción de información. Tipos Abstractos de datos como parámetros de funciones. Ejemplos típicos de TADs. 2. UNIDAD MODULAR II. “CONCEPTOS BÁSICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS” 2.1. OBJETIVO ESPECÍFICO Presentar los conceptos fundamentales de la Programación Orientada a Objetos (POO), como clase, objeto, herencia, polimorfismo, constructores, destructores y sobrecarga de operadores. 2.2. TEMAS Conceptos fundamentales de POO. Clases. Constructores – Destructores. Sobrecarga de constructores. Objetos constantes – inline. Datos miembro, métodos miembro. Asignación dinámica de memoria. Sobrecarga de operadores. 3. UNIDAD MODULAR III. “HERENCIA” 3.1. OBJETIVO ESPECÍFICO Presentar e implementar en los desarrollos de software la característica de la POO denominada herencia, la cual reutiliza software, generando clases nuevas en forma rápida y fácil, que absorben las capacidades de las bases existentes y añaden otras propiedades nuevas. El uso no autorizado así como la reproducción total o parcial de su contenido por cualquier persona o entidad, estará en contra de los derechos de autor. Página 2 de 4 UNIVERSIDAD MILITAR NUEVA GRANADA 3.2. TEMAS Clases bases y derivadas. Herencia protected, private, public. Relaciones “es un”, “tiene un”, “usa un” y “conoce un”. 4. UNIDAD MODULAR IV. “FUNCIONES VIRTUALES Y POLIMORFISMO” 4.1. OBJETIVO ESPECÍFICO Desarrollar programas de una manera general, clase base común, independiente de los tipos específicos de los objetos de las clases derivadas que se han relacionado a través de la herencia. 4.2. TEMAS Funciones virtuales. Clases base abstractas. 5. UNIDAD MODULAR V. “APUNTADORES” 5.1. OBJETIVO ESPECÍFICO Presentar y guiar en la aplicación de una de las características más poderosas y más difíciles de dominar en el lenguaje C++, como son los apuntadores, mediante los conceptos fundamentales de este tipo de arreglos. 5.2. TEMAS Punteros y Strings. Declaración e Inicialización de variables tipo puntero. Operadores de los apuntadores. Llamado de funciones por referencia. Expresiones y aritmética de apuntadores. Relación entre apuntadores y arreglos. Apuntadores a funciones. 6. UNIDAD MODULAR VI. “ESTRUCTURAS DE DATOS DINÁMICOS” 6.1. OBJETIVO ESPECÍFICO Presentar las técnicas para crear y manipular estructuras dinámicas de datos. Se presenta la manera de crear y mantener varias estructuras dinámicas de datos incluyendo listas enlazadas, colas, pilas y árboles. 6.2. TEMAS Clases auto referenciadas. Presentación gráfica de una lista. Listas enlazadas. Pilas. Colas. Árbol binario. Árbol de búsqueda binaria. SISTEMA DE EVALUACIÓN El proceso de instrucción - aprendizaje se desarrollará de acuerdo a la utilización de las siguientes estrategias: Metodología virtual, realización de actividades de autoaprendizaje, trabajo colaborativo e investigación formativa, a través de estrategias como mapas conceptuales, ensayos, estudio de caso, desarrollo de talleres, aprendizaje basado en problemas. Mediante la ejecución de las anteriores estrategias, se obtendrá la evaluación de la asignatura, para cada uno de los periodos comprendidos durante el semestre académico. BIBLIOGRAFÍA 1. DEITEL, H. M. Cómo programar en C/C++. 4ª edición. Editorial Prentice Hall. México. 2003. 2. JOYANES, Luis. Programación en C++ Algoritmos, estructuras de datos y objetos. Editorial McGrawHill. México. 2000. El uso no autorizado así como la reproducción total o parcial de su contenido por cualquier persona o entidad, estará en contra de los derechos de autor. Página 3 de 4 UNIVERSIDAD MILITAR NUEVA GRANADA 3. JOYANES, Luis. Programación orientada a objetos. 2ª edición. Editorial McGrawHill. Interamericana de España. Madrid. España. 1998. 4. MURRAY III, Willliam y PAPPAS, Chris. Manual de Borland C++. Editorial Osborne McGrawHill. 1997. 5. SHILDT, Herbert. Manual de Referencia de C. 4ª edición. Editorial Osborne McGrawHill. México. 2001. 6. STROUSTRUP, Bjarne. The C++ Programming Language. Editorial Addison Wesley. 2000. MATERIAL COMPLEMENTARIO DE APRENDIZAJE PARA ESTUDIANTES Enlaces en la red: Curso de programación. Programa Universidad Virtual. Universidad Nacional de Colombia: www.virtual.unal.edu.co Curso Fundamentos de programación. Universidad de Alicante: http://www.dccia.ua.es/dccia/inf/asignaturas/FP1/ MSDN. Ayudas de Visual C++. http://www.aulaclic.org http://www.aulafacil.org/ http://www.cybercursos.org/ http://www.emagister.com/ http://www.lawebdelprogramador.com/ http://conclase.net Toda la bibliografía disponible en las bibliotecas en red y físicas de diversas instituciones. Todos los motores de búsqueda disponibles en INTERNET. Los medios electrónicos específicos y actividades se indicarán en el Aula Virtual de la UMNG y se llevarán a cabo como se indica en el Parcelador de la asignatura. El uso no autorizado así como la reproducción total o parcial de su contenido por cualquier persona o entidad, estará en contra de los derechos de autor. Página 4 de 4