Download syllabus - Aulas Virtuales Universidad Militar Nueva Granada

Document related concepts

Scala (lenguaje de programación) wikipedia , lookup

Polimorfismo (informática) wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

Common Lisp wikipedia , lookup

Ocaml wikipedia , lookup

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