Download Estructura de datos

Document related concepts

Visitor (patrón de diseño) wikipedia , lookup

Axiom wikipedia , lookup

Lisp wikipedia , lookup

J (lenguaje de programación) wikipedia , lookup

Common Lisp wikipedia , lookup

Transcript
Ingeniería de Software
3er. Semestre
CC404 ESTRUCTURA DE DATOS
Características del curso:
Este curso ofrece a los estudiantes de las carreras de cómputo las técnicas
para organizar piezas relacionadas de información. El curso ofrece un
tratamiento moderno de las Estructuras de Datos y aborda su
implementación mediante técnicas disponibles en los lenguajes orientados a
objetos. Todas las estructuras de datos (Archivos, listas, arreglos, registros,
árboles y tablas) y algoritmos se trabajarán primero en un nivel conceptual
de tipo de Dato Abstracto y posteriormente se implementarán mediante
prácticas usando algún lenguaje de programación orientada a objetos (se
sugiere C++). El enfoque del curso será hacia la utilización de las
Estructuras de Datos en la solución de problemas. Se requiere que los
estudiantes que deseen cursar esta asignatura sepan construir programas
de computadora de mediana complejidad, conozca y entienda las fases para
el desarrollo de programas por computadora.
Al término del curso se espera que el estudiante:
Conozca y comprenda:
1. El concepto de Tipo de Dato Abstracto (TAD, siglas en inglés) y su
relación con el diseño de estructuras de datos y algoritmos.
2. La importancia del análisis y diseño de algoritmos para las ciencias de
computación.
3. La importancia del enfoque de sistemas para un ingeniero y que lo haya
aplicado a lo largo del curso en su interacción con compañeros, por lo que
se espera también que el estudiante desarrolle actitudes positivas hacia el
trabajo interdisciplinario, cooperativo y colaborativo.
Sepa:
1. Estimar matemáticamente el tiempo de ejecución de los algoritmos y
programas que desarrolle.
2. Utilizar funciones de estimación ya conocidas para obtener parámetros
importantes de los algoritmos.
3. Aplicar los elementos principales de la programación orientada a objetos
y su implementación con el lenguaje C++.
4. Diseñar y / o seleccionar las mejores estructuras de datos y / o
algoritmos para aplicarlos en el desarrollo de programas de computadora
que solucionen problemas diversos, tratando siempre de optimizar los
recursos computacionales.