Sie sind auf Seite 1von 6

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

FACULTAD DE IINGENIERIAS

PROGRAMA ACADÉMICO DE INGENIERIA DE SISTEMAS

PLAN DE ASIGNATURA

NOMBRE DE LA ASIGNATURA: Estructura de datos


CODIGO DE LA ASIGNATURA: 02604
BÁSICO
CICLO DE FORMACIÓN:
PROFESIONAL X
BÁSICO
HUMANÍSTICO
COMPONENTE DE FORMACIÓN PROFESIONAL X
ELECTIVO
OPTATIVO
UBICACIÓN ASIGNATURA: (Semestre/
3
año)
POSGRADO
PREGRADO X
NIVEL DE FORMACIÓN:
TECNOLÓGICO
TÉCNICO
No. HORAS
Presenciales 4
INTENSIDAD HORARIA SEMANAL:
Independientes 5
TOTAL HORAS 9
CREDITOS ACADÉMICOS: 3
PRERREQUISITOS: ESTRUCTURAS DE LENGUAJES
CORREQUISITOS:
PRESENCIAL X
A DISTANCIA
MODALIDAD:
TUTORIADA
VIRTUAL
OBLIGATORIA X
CARÁCTER DE LA ASIGNATURA:
ELECTIVA
TEORICA
TIPO ASIGNATURA: PRÁCTICA
TEÓRICO-PRÁCTICA X

JUSTIFICACIÓN
El estudio de las Estructuras de Datos es primordial en cualquier currículo de Ingeniería de
Sistemas. Estas representan el pilar, el sostén, para realizar cualquier tipo de software. Resulta

Versión:0 Mayo 23 de de 2016


UNIVERSIDAD LIBRE SECCIONAL PEREIRA

prácticamente imposible pensar en el diseño de un programa que no contemple estructuras de


datos
OBJETIVO GENERAL
Buscar que cada estudiante adquiera habilidad en la aplicación de estructuras complejas de datos,
de manera eficaz, en la resolución de problemas comunes o aplicados al área de ingeniería.

Adicionalmente, se espera que estén en la capacidad de, a partir del cálculo de la complejidad
algorítmica, formular si un algoritmo es aplicable en la medida que crecen sus datos de entrada y
seleccionar el método más apropiado de ordenamiento y búsqueda que un problema requiera.
OBJETIVOS ESPECÍFICOS
Aprender a identificar y utilizar la notación empleada para la construcción de algoritmos que
manejan estructuras de datos dinámicas.

Construir algoritmos que utilicen estructuras de datos en la solución de problemas

Aprender a codificar en un lenguaje de programación los algoritmos para realizar operaciones


sobre estructuras de datos dinámicas en la solución de problemas de la vida real.

Aprender a seleccionar cuál es la estructura de datos que facilita la solución de un problema.


PRINCIPIOS DE FORMACION Y METAS DE APRENDIZAJE EN TÉRMINOS DE
COMPETENCIAS
A. COMPETENCIA DE APRENDIZAJE Y DOMINIOS GENERALES:
Este curso tiene como objetivo presentar a los estudiantes las estructuras de datos, así como los
algoritmos necesarios para tratarlas. El lenguaje utilizado para ello es algorítmico. Esta
característica es muy importante, ya que permite al estudiante comprender los de datos y los
algoritmos asociados a ellas sin relacionarlos con lenguajes de programación particulares.

Se considera que cuando el estudiante domine estos conceptos los implementaremos en


lenguaje Java.

Para lograr lo anterior, en las clases se discutirá el componente conceptual y se trabajarán


talleres prácticos (java) para la implementación de los algoritmos, sobre los cuales luego el
estudiante hará la evaluación de su eficiencia.
B. COMPETENCIAS ESPECÍFICAS:

- COMPETENCIA INTERPRETATIVA
 Utilizar Java como lenguaje de Programación.
 Introducir la estructura de datos conocida como arreglo.
 Comprender el uso de los arreglos para guardar, ordenar y buscar en listas y tablas de
valores.
 Comprender varias aplicaciones importantes de las estructuras de datos enlazados.

- COMPETENCIA ARGUMENTATIVA:
 Declarar un arreglo, inicializarlo y hacer referencia a sus elementos individuales
 Pasar arreglos a métodos.
 Declarar y manipular arreglos multidimensionales.
 Manejar los conceptos de abstracción de datos y programación orientada a objetos, a
través del conocimiento y aplicación de las estructuras de datos fundamentales en el
desarrollo de software

Versión:0 Mayo 23 de de 2016


UNIVERSIDAD LIBRE SECCIONAL PEREIRA

- COMPETENCIA PROPOSITIVA:
 Seleccionar la estructura de datos más adecuada en la solución de problemas que lo
requieran
 Diseñar una nueva estructura de datos, de acuerdo a las necesidades de solución de
problemas.
 Formar estructuras de datos enlazadas utilizando referencias, clases autorreferenciadas
y recursividad.
 Crear y manipular estructuras dinámicas de datos como listas enlazadas, colas, pilas y
árboles binarios.
 Crear estructuras de datos reutilizables con clases, herencia y composición.
 Capturar información de una Base de Datos

METODOLOGÍA GENERAL
El curso está organizado en una serie de unidades temáticas, cada una compuesta de temas (Ejes
problemicos), apoyados por estrategias y recursos didácticos, bibliografía básicas y lecturas
complementarias que permiten alcanzar los objetivos pedagógicos propuestos

Para cada unidad temática, el profesor desarrolla el tema en clase utilizando ejemplos que
muestran los conceptos, el estudiante deberá desarrollar ejercicios en clase que serán resueltos
en grupo. Un ejercicio corresponde a la solución de un problema por lo general simple, utilizando
los conocimientos y las habilidades desarrollados en clase, cada ejercicio debe tener como
resultado final un programa que funciona, que se puede utilizar y que se puede verificar a través
de pruebas.

Luego desarrollara ejercicios propuestos como parte de su trabajo independiente, en la clase


siguiente se dispone de un tiempo para resolver las dudas encontradas por los estudiantes durante
su trabajo independiente, la verificación de las respuestas encontradas, y si es el caso discutir
nuevos ejercicios que permitan alcanzar mayor claridad en cada tema.

Para afianzar los conocimientos adquiridos se aplicaran a través de un proyecto que se


desarrollará a lo largo del semestre en grupos de trabajo.

Los estudiantes deberán hacer presentaciones de los avances del proyecto, según el plan de
entregas establecidos por el profesor.

ESTRATEGIAS PEDAGÓGICAS Y DIDACTICAS


Durante el curso el estudiante deberá desarrollar una serie de ejercicios en cada unidad temática.

Clase Magistral Talleres de refuerzo Lecturas previas


Valoración y motivación de Trabajos en grupo X Exposiciones
aptitudes e intereses
Presentación de contenidos X Ejemplificación del X Preguntas en clase X
mediante síntesis, cuadros, contenido
mapas conceptuales
Realización de ejercicios y X Evaluación grupal Diagnóstico de X
problemas por parte del profesor conocimientos
previos
Verificación y síntesis de Implementación de X Seguimiento de X
contenidos previos recursos didácticos actividad en la clase

ESTRATEGIAS Y PORCENTAJES DE EVALUACIÓN

Versión:0 Mayo 23 de de 2016


UNIVERSIDAD LIBRE SECCIONAL PEREIRA

PORCENTAJE DE
FORMAS DE EVALUACIÓN EVALUACIÓN
Evaluación escrita X Exposición Primer Parcial 30
Quicez Laboratorio X Segundo Parcial 30
Talleres Individuales X Trabajo de campo X Examen Final 40
Talleres Grupales X Participación en Clase

CONTENIDO PROGRAMATICO

UNIDADESTEMÁTICAS TEMAS O SUBTEMAS BIBLIOGRAFÍ


A BÁSICA
1.1 Memorias [1]
1.1.1 Jerarquía de memorias [2]
1.1.2 Tiempos de acceso [3]
1. INTRODUCCIÓN A LA 1.2 Complejidad de algoritmos
ALGORÍTMICA Y 1.2.1 Especial
ESTRUCTURAS DE DATOS 1.2.2 Temporal
1.2.3 Comportamiento asintótico
1.3 Estructuras abstractas de datos
1.4 Verificación de programas
2.1 Definiciones [3]
2.2 Estructuras secuenciales [4]
2.2.1 Arreglos unidimensionales [5]
2.2.2 Arreglos multidimensionales
2.2.3 Arreglos triangulares y de banda
2.3 Arreglos empacados
2. ESTRUCTURAS LINEALES
2.3.1 Gráficas y relaciones
2.3.2 Aplicaciones
2.3.3 Matrices poco densas
2.3.3.1 Algoritmos
2.3.3.2 Asignación dinámica de espacios
para arreglos.
3.1 Pilas o stacks [6]
3.1.1 Definiciones y ejemplos [7]
3.1.2 Programación recursiva [8]
3. PILAS O STACKS Y COLAS 3.1.3 Notación prefija y sufija [9]
3.2 Colas [10]
3.2.1 Definiciones y ejemplos [11]
3.2.2 Emulador de una terminal
4. ESTRUCTURAS CON 4.1 Definiciones y ejemplos [7]
APUNTADORES O LISTAS 4.2 Búsqueda, inserción y remoción de [8]
elementos [9]
4.2.1 Algoritmos [10]
4.2.2 Manejo de polinomios [11]
4.2.3 Orden topológico [12]
4.3 Pilas y colas en lista
4.3.1 Algoritmos
4.3.2 Simulación de eventos
4.4 Listas circulares
4.5 Lista doblemente ligadas o

Versión:0 Mayo 23 de de 2016


UNIVERSIDAD LIBRE SECCIONAL PEREIRA

Bidireccionales
4.6 Listas múltiples

5. ESTRUCTURAS NO 5.1 Árboles y estructuras arborecentes [7]


LINEALES 5.2 Árboles binarios [8]
5.3 Representación de árboles con base [9]
de árboles binarios [10]
5.3.1 Árbol de un juego [11]
5.3.2 Representación de figuras [12]
5.4 Lista y recolección de basura
5.5 Asignación dinámica de espacio
6. ESTRUCTURA 6.1 Conceptos y definiciones [7]
DE DATOS 6.2 Características [8]
EXTERNOS, ARCHIVOS 6.2.1 Residencia [9]
6.2.2 Permanencia [10]
6.2.3 Portabilidad [11]
6.2.4 Capacidad [12]
6.3 Clasificación
6.3.1 Permanentes
6.3.2 De movimiento
6.3.3 De maniobra o trabajo
6.4 Organización
6.4.1 Secuencial
6.4.2 Random o directo
6.4.3 Indexad
7. BÚSQUEDA Y 7.1 Algoritmos de búsqueda [7]
ORDENAMIENTO 7.1.1 Secuencial [8]
7.1.2 Binaria [9]
7.1.3 Cálculo de dirección [10]
7.2 Ordenamiento [11]
7.2.1 Óptimo teórico para ordenamiento [12]
de tablas
7.2.2 Intercambio simple
7.2.3 Algoritmo de la burbuja
7.2.4 Shellsort
7.2.5 Quicksort
7.2.6 Treesort o heapsort
7.2.7 Ordenamiento por intercalación
7.2.8 Ordenamiento por distribución
7.5.4 Manejo de sobreflujo
7.5.5 Corrector de ortografía
7.3 Ordenamiento externo
7.3.1 El torneo de tenis para
ordenamiento externo
7.3.2 Intercalación con lotes. Algoritmo
balanceado
7.3.3 El algoritmo polifase para
intercalación por lotes
7.3.4 El algoritmo de cascada
7.4 Árboles balanceados
7.4.1 Definiciones
7.4.2 Árboles AVL
7.4.3 Árboles B

Versión:0 Mayo 23 de de 2016


UNIVERSIDAD LIBRE SECCIONAL PEREIRA

7.5 Dispersión al azar,


desmenuzamiento
o hassing
7.5.1 Algoritmos
7.5.2 Funciones de dispersión
7.5.3 Manejo de colisiones
8. HILOS Y PROGRAMACION 8.1 Definición [7]
CONCURRENTE 8.2 Programación de hilos [8]
8.3 Lanzamiento y control [9]
8.4 Exclusión mutua para hilos [10]
8.5 Coordinación [11]
8.6 Terminación [12]

BIBLIOGRAFÍA Y WEBGRAFÍA
[1]. PERDITA STEVENS, Rob Pooley. Using UML software engineering with objects and
components. Madrid: Pearson Educación, 2007.
[2]. OVIEDO R, Efrain. Lógica de programación orientada a objetos.
ECO Ediciones – Universidad de Antioquia. 2015
[3]. JOYANES, Fundamentos de programación. Algoritmos, estructuras de datos y objetos.
Editorial Mc Graw Hill.
[4]. JIMÉNEZ, Luz Elena. “Conceptos Básicos de Programación con Java”. U. Icesi, 2002
[5]. SCHILDT, Herbert. “Fundamentos de programación en Java 2”. McGraw-Hill, 2001
[6]. Pilgrim, Peter A. Java EE 7 developer handbook : Develop professional applications in
Java EE 7 with this essential reference guide. E-eBrary.
[7]. Herbert Schildt. Fundamentos de Java. México: McGraw-Hill Interamericana, 2007. 3a. ed.
e-libro, Corp.
[8]. José F. Vélez Serrano. Diseñar y programar, todo es empezar: Una introducción a la
programación orientada a objetos usando UML Y JAVA. Bogotá. Eco Ediciones, 2012. e-libro,
Corp.
[9]. Héctor Arturo Flórez Fernández. Programación orientada a objetos
usando java. Madrid. Universidad Rey Juan Carlos, Servicio de Publicaciones. 2012. e-libro,
Corp.
[10]. Luis Fernando García Llinas. Todo lo básico que debería saber sobre programación
orientada a objetos en Java. Bogotá. Ediciones de la U, 2010. e-libro, Corp.
[11]. Efraín Oviedo Regino. Lógica de programación orientada a objetos.
[12] Antonakos, James L. Mansfield JR. Kenneth C. Programación Estructurada. Pearson,
Prentice Hall

Versión:0 Mayo 23 de de 2016

Das könnte Ihnen auch gefallen