Está en la página 1de 10

UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 1

U C A S A L
UNIVERSIDAD CATOLICA DE SALTA
AÑO LECTIVO
2021
UNIDAD ACADÉMICA: FACULTAD DE INGENIERIA

CARRERA/S Ingeniería en Telecomunicaciones

CATEDRA: Año Modalidad Plan Créditos


Estructura de Datos y Algoritmos 2 Semestral 2012 4

EQUIPO DOCENTE:
PROFESOR CATEGORÍA
Mag. Lic. Rosa E. Macaione Profesor Titular
Lic. Eduardo Maldonado Auxiliar Docente

FUNDAMENTOS DE LA ASIGNATURA (1):

La Asignatura Estructura de Datos y Algoritmos está ubicada en el segundo año de la carrera y corresponde al
bloque de las tecnologías básicas. Esta materia contribuye a la formación de ingenieros aportando una sólida base
en el área científica y técnica brindando herramientas que serán útiles en el desempeño de la profesión.
Según el sistema de correlatividades del plan de estudio la interrelación vertical de cátedras vincula esta
materia hacia atrás con Introducción a la Informática, del 1° año de la carrera y hacia delante con Base de Datos I,
del 3° año de la carrera. La interrelación horizontal de cátedras vincula esta asignatura con materias que se cursan
conjuntamente tales como Lenguaje 1 y Lenguaje 2.
Es adecuado que el alumno posea las siguientes habilidades, que en el contexto del actual plan de estudios se
obtienen en la asignatura Introducción a la Informática y Lenguaje I:
 Conocimiento de los elementos básicos de la construcción de algoritmos y de la estructuración de la
información, con especial énfasis en el concepto de abstracción.
 Capacidad de desarrollar algoritmos usando una metodología adecuada.
 Destreza para implementar los algoritmos así desarrollados en un lenguaje de programación.
 Conceptos de programación.

 ¿Qué es una estructura de datos?

Se trata de un conjunto de variables de un determinado tipo agrupadas y organizadas de alguna manera para
representar un comportamiento. Lo que se pretende con las estructuras de datos es facilitar un esquema lógico para
manipular los datos en función del problema que haya que tratar y el algoritmo para resolverlo. En algunos casos
la dificultad para resolver un problema radica en escoger la estructura de datos adecuada. Y, en general, la
elección del algoritmo y de las estructuras de datos que manipulará está muy relacionada.

Según su comportamiento durante la ejecución del programa distinguimos estructuras de datos:

- Estáticas: su tamaño en memoria es fijo. Ejemplo: arrays.


- Dinámicas: su tamaño en memoria es variable. Ejemplo: listas enlazadas con punteros, ficheros, etc.

Las estructuras de datos que trataremos aquí son los arrays, las pilas y las colas, los árboles, los grafos y
algunas variantes de estas estructuras.

Tipos Abstractos de Datos

Los tipos abstractos de datos (TAD) permiten describir una estructura de datos en función de las operaciones
que pueden efectuar, dejando a un lado su implementación.

Los TAD mezclan estructuras de datos junto a una serie de operaciones de manipulación. Incluyen una
especificación, que es lo que verá el usuario, y una implementación (algoritmos de operaciones sobre las
estructuras de datos y su representación en un lenguaje de programación, que el usuario no tiene necesariamente
que conocer para manipular correctamente los tipos abstractos de datos.
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 2

Se caracterizan por el encapsulamiento. Es como una caja negra que funciona simplemente conectándole unos
cables. Esto permite aumentar la complejidad de los programas, pero manteniendo una claridad suficiente que no
desborde a los desarrolladores. Además, en caso de que algo falle será más fácil determinar si lo que falla es la
caja negra o son los cables.

Por último, indicar que un TAD puede definir a otro TAD. Por ejemplo, se indicará como construir pilas, colas
y árboles a partir de arrays y listas enlazadas. De hecho, las listas enlazadas también pueden construirse a partir de
arrays y viceversa.

Nota: En primer lugar, es fundamental el conocimiento de la recursividad, inherente a muchas estructuras de


datos y algoritmos. Los temas de arrays y listas enlazadas, son básicos para implementar el resto de estructuras de
datos. Los temas de pilas y colas son fundamentales, y mucho más sencillas de entender y aplicar que los temas
restantes. Como temas avanzados (y no por ello menos importantes, además de que requieren el conocimiento de
los temas anteriores) figuran los árboles y grafos, y se estudiarán sólo sus implementaciones y recorridos.

OBJETIVOS (2):
Objetivos Conceptuales:

Que el alumno logre:


 Comprender el concepto de tipo abstracto de datos.
 Conocer las principales estructuras de datos, desde un punto de vista abstracto, y sus formas de
representación, así como las operaciones que se puedan realizar sobre ellas.
 Identificar, diseñar e implementar los tipos abstractos de datos adecuados a una aplicación concreta.
 Conocer las estructuras de datos disponibles para el almacenamiento de datos.

Objetivos Procedimentales:

Que el alumno logre


 Aplicar todos los conceptos adquiridos mediante resolución de prácticos siendo capaces de elegir siempre
la representación más eficiente.
 Utilizar y adaptar las estructuras de datos a nuevos requisitos de operación y representación de
información.

Objetivos Actitudinales:

Que el alumno logre


 Comprender la importancia de los conocimientos adquiridos para la construcción de algoritmos más
complejos.

CONTENIDOS PROPUESTOS (3)


Unidad 1: Estructuras de datos fundamentales
 Introducción
 Concepto de tipo de datos
 Concepto de Estructuras de datos
 Tipos elementales de datos.
 Clases y Objetos
 La estructura array y cadena
 Las clases derivadas y Polimorfismo.
Unidad 2: Tipos abstractos de datos
 El papel de la Abstracción de datos.
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 3

 Tipo de datos, tipo abstracto de datos y estructura de datos


 Tipos abstractos de datos fundamentales (TAD): Introducción. Especificación Funcional.
Implementación.
 La clase Vector. La clase String.
 Tipo de datos Listas, Pilas y Colas
 Operaciones: Crear, recorrer, ordenar, insertar, eliminar, búsqueda

Unidad 3: Recursividad
 Concepto. Naturaleza de la recursividad.
 Algoritmos recursivos.
 Uso de la recursividad. Cuando no utilizar la recursividad.
 Seguimiento de la recursividad.
 Recursividad directa e indirecta.
 Ventajas y desventajas.
 Métodos recursivos de búsqueda y de ordenación. Búsqueda binaria recursiva. Ordenamiento rápido:
Quicksort.
 Ejercicios

Unidad 4: Estructuras dinámicas de datos


 Punteros. La clase Nodo.
 La Estructura Lista. Descripción lógica.
 Listas enlazadas.
 Listas doblemente enlazadas y circulares.
 Listas ordenadas.
 Procesamiento de listas
 Implementación de pilas y colas dinámicas.
 Ejercicios

Unidad 5: Estructuras Árbol


 Definiciones y conceptos básicos.
 Realización de árboles
 Operaciones básicas con árboles binarios.
 Búsqueda e inserción en árboles
 Borrado en árboles.
 Árboles equilibrados
 Aplicaciones de los árboles. Ordenamiento por montículos: heapsort.
 Ordenamiento por urnas: binsort.

Unidad 6: Estructuras grafos


 Definiciones fundamentales
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 4

 Representación. Organización en red, grafos orientados y no orientados.


 Recorridos, búsqueda de caminos, grafos de costes.
 Algoritmos de análisis y manipulación de grafos (Dijkstra, Floyd, etc.).
 Aplicaciones de grafos.
 Aplicación de los algoritmos al cálculo numérico.

Unidad 7: Introducción a los Sistemas de bases de datos


 Definición
 Ventajas de la utilización de un Sistema de base de datos.
 Tipos de bases de datos.
 Características del Modelo Relacional

METODOLOGÍA (4)
TEORÍA

La teoría ocupará un 50% del tiempo total de la asignatura, en el que se pretende difundir conocimientos
teóricos y ejemplos de los temas abordados en cada clase.

La exposición se realizará siguiendo, básicamente, los libros incluidos en la bibliografía de referencia y


utilizando como medios: la pizarra, el Data Display, la plataforma Moodle. Durante dicha exposición teórica el
alumno participará activamente dirigiendo preguntas al profesor y respondiendo a las que éste le realice.

Al finalizar cada unidad que se desarrolla en teoría se tomará un coloquio obligatorio, en forma individual,
antes de iniciar la unidad correlativa. El coloquio consistirá en preguntas teóricas-prácticas, este será evaluado
inmediatamente después de ser tomado. El día del coloquio el alumno tendrá en su asistencia la siguiente
indicación: PA (Presente Aprobó), PN (Presente No aprobó) A (Ausente). Cuando el alumno haya alcanzado
un total de tres, ya sea Ausente o Presente No Aprobó, deberá rendir un examen extra, para recuperar lo no
alcanzado, en caso de la no aprobación perderá su regularidad.

Las estrategias a utilizar:

Las clases tendrán un carácter híbrido o de b-learning, donde se continuará con el desarrollo de las propuestas
de enseñanza en las AULAS VIRTUALES, y se complementará con ACTIVIDADES PRESENCIALES en un
proceso de convergencia.

Virtualidad:

Desarrollo clases sincrónicas a través de la herramienta de Colaboratte.

Interacción con los alumnos a través de:

• Foro de consultas

• Foros de debate.

• Espacios de trabajo colaborativo

• Salas de chat.

Publicación de material de lectura obligatoria recursos: documento escrito por el docente, un artículo en PDF,
un power point).
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 5

Desarrollo de clases asincrónicas a través de videos

Foro de Discusión y Debate sobre las reflexiones construidas a partir del video.

Presencialidad

Se llevará a cabo durante 2 horas cada 15 días, para preservar las pautas de prevención establecidas en el
protocolo; se organizará a los alumnos por grupos para asistir a las clases, debiendo estos rotar o alternar, una
hora por cada grupo de alumnos, citados en forma obligatoria, en el horario asignado de la cátedra. Los
alumnos que no les corresponde concurrir tendrán acceso a la clase grabada en forma asincrónica,

En los encuentros presenciales, los estudiantes refuerzan lo previamente trabajado en la plataforma virtual,
como ser los contenidos presentados a través de videos, demostraciones virtuales, bibliografía, módulos y el
material que se haya considerado oportuno.

En el tiempo acotado del encuentro presencial se podrá realizar:

● Explicaciones puntuales que apunten a resolver dudas planteadas en el foro y que requieran, sí o sí, de la
aclaración del docente.

● Diferentes resoluciones y explicaciones del procedimiento de ejercicios utilizando la pizarra y que el


docente pueda aclarar en relación a las consultas realizadas a través de los diferentes canales de comunicación
de la plataforma.

● Instancias de trabajo grupal con los estudiantes, a fin de analizar diferentes estudios de caso para aplicar
perspectivas, paradigmas ya vistas en la clase del collaborate, por ejemplo.

● Experiencias de aplicación y resolución práctica. Toma de decisiones por parte de los estudiantes.

● Actividades de práctica demostrativa, guiada, entre pares y en forma autónoma.

● Actividades de Laboratorio (siempre respetando las pautas del protocolo)

Para la evaluación el docente realizará diferentes actividades para los estudiantes como ser:

• Uso del recurso tarea.

• Diferentes cuestionarios de alternativas múltiples

• Generar propuestas de trabajo colaborativo entre los estudiantes, a través de la wiki.

• Videoconferencias a través de collaborate para exposiciones grupales evaluables

PRÁCTICA:

1) Clase de práctica

El 50% restante del tiempo asignado a la asignatura se dedicará a la realización de clases de práctica.

Se entregará a los alumnos un trabajo práctico para cada tema del programa

Hay una sola comisión, con una clase práctica de 2 horas semanales. En ellas los alumnos podrán consultar
los ejercicios de los prácticos y se realizarán otros ejercicios prácticos que refuercen el aprendizaje de los
contenidos impartidos en las clases teóricas.
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 6

Práctica obligatoria:

Cada 2 semanas aproximadamente, se solicitará un ejercicio obligatorio. El ejercicio obligatorio no estará en el


práctico que corresponda al tema del ejercicio. El mismo será evaluado y tendrá una nota conceptual que será
tenida en cuenta para lograr la regularidad.

En las clases de prácticas tanto en el aula virtual como en el laboratorio de máquinas se utilizarán las siguientes
técnicas:

• Demostrativa: por ejemplo, para que los alumnos puedan apreciar cómo se realiza un proceso.

• Conformación de grupos colaborativos.

• Participación activa del alumno en la resolución de problemas planteados.

La virtualidad se llevará a cabo en el horario de práctica previsto y la presencialidad se desarrollará a través de


clases semanales, donde asistirá el docente de la práctica en el horario asignado previamente y dependiendo de
la cantidad de alumnos, podrán estar juntos las 2 horas o dividir el grupo en dos una hora cada uno.

También se implementará tutorías semanales para las prácticas en horario a coordinar, según la disponibilidad
de la sala de máquinas.

EVALUACION (5)
CRITERIOS e INSTRUMENTOS:
La consecución de los objetivos de la asignatura se evaluará, de acuerdo con la norma establecida, de 0 a 10
puntos, utilizando para ello dos mecanismos:
- Dos exámenes parciales escritos o sus correspondientes recuperaciones.
- Valoración global de las prácticas obligatorias

Examen escrito.

En el examen escrito el alumno deberá demostrar sus conocimientos teóricos de la materia y la habilidad
desarrollada en la solución de problemas de especificación, diseño, implementación y uso de tipos abstractos
de datos de un nivel adecuado a la materia impartida. Estará dividido en ejercicios, cada uno de los cuales
aportará un porcentaje especificado a la nota del examen. Asimismo, se especificará para cada ejercicio la
puntuación mínima que será necesario alcanzar para aprobar el examen.

Evaluación de las prácticas.

La evaluación de las prácticas se efectuará a partir de los ejercicios prácticos obligatorios que se realizarán
regularmente. Al comienzo de la clase se entregará el enunciado y las pautas para su realización y deberán
ser entregados para su corrección al finalizar la misma.
Estos ejercicios podrán ser realizados en grupos (hasta 2 personas), definidos al comienzo del año (no será
posible cambiar de grupo durante el año sin causa justificada)
 Los ejercicios obligatorios se calificarán según la escala: Sobresaliente, Muy Bueno, Bueno, Regular,
Insuficiente.
 
CONDICIONES PARA OBTENER LA REGULARIDAD Y/O PROMOCIONALIDAD

Para obtener la regularidad de la asignatura se requiere:


- Aprobación de los dos parciales o sus respectivos recuperatorios, con una nota igual o superior a 60
puntos.
- Un mínimo de 80% de los ejercicios obligatorios realizados y con una nota mínima Bueno.
- Aprobación de coloquios, según se detalló anteriormente en la parte Teórica, punto 1) Coloquios.
Para obtener la promocionalidad, los alumnos deberán alcanzar como mínimo una nota de 7 siete puntos,
promediando los dos parciales y sus correspondientes recuperaciones.

Los alumnos que realicen copia, plagio durante examen parcial/ final en forma reiterada, obtendrán una nota
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 7

de 0 puntos, independientemente de otras medidas que pudieran tomarse de acuerdo con lo establecido en la
Res.Rect. N° 555/02 sobre Reglamento del Alumno.

ACCIONES DE SEGUIMIENTO DE LOS ALUMNOS:

ACCIONES DEL DOCENTE RESPONSABLE DEL EQUIPO:


Coordinar las acciones del equipo semanalmente por email y/o teléfono y quincenalmente por entrevistas
personales. Revisar los enunciados y material entregado en los trabajos prácticos. Realizar una autoevaluación y
evaluación del equipo docente dos veces en el semestre. Mantener registro de temas cubiertos y copia de los
materiales entregados. Horas de consulta fuera de las horas de clase y disponibilidad para consultas tanto
teóricas como prácticas vía email.
Interiorizarse de los programas de otras asignaturas de la carrera y comunicación con sus respectivos docentes y
jefa de carrera para favorecer la articulación con las mismas.

ACCIONES DEL EQUIPO DOCENTE:


Trabajo coordinado en comunicación constante (por email y/o teléfono y entrevistas personales) entre las
docentes para comentar la evolución de la clase y alumnos individuales y adaptar el dictado a la misma.
Reuniones para coordinar los materiales cubiertos y la preparación de prácticos acordes al material teórico
cubierto. Disponibilidad para consultas tanto teóricas como prácticas vía email.

RECURSOS DIDÁCTICOS (6)


Cañón o Data Display y retroproyector más computadora con PowerPoint para las clases teóricas, o acceso al
laboratorio equipado con Net Support 8 durante las clases.
En las clases prácticas se necesitará acceder al laboratorio de máquinas y se usará el entorno de desarrollo
Eclipse para JAVA. Se procederá a la implementación de los algoritmos que resuelven.

MODALIDAD DE ENSEÑANZA Y CARGA HORARIA SEMANAL:

CARGA HORARIA
DISTRIBUCIÓN SEMANAL
SEMANAL

TEORÍA
80’
FORMACIÓN TEÓRICA
RESOLUCIÓN DE PROBLEMAS TIPO
40’
FORMACIÓN PRÁCTICA EN LABORATORIO 120’
EXPERIMENTAL TRABAJO DE CAMPO
FORMACIÓN
PRÁCTICA RESOLUCIÓN DE PROBLEMAS ABIERTOS DE INGENIERÍA

PROYECTO Y DISEÑO

TOTAL, DE HORAS EN LA SEMANA 4 horas

PLANIFICACIÓN GENERAL DE ACTIVIDADES:

SEMANA N° ACTIVIDAD A REALIZAR TEMA A DESARROLLAR


1 Cuestionario en moodle Diagnóstico.
03 al 05/03 Clase Teórica Estructuras de datos fundamentales
Introducción
Concepto de tipo de datos
Clase Práctica: Resolución de Concepto de Estructuras de datos
problemas tipo Tipos elementales de datos.
Clases y Objetos
Las estructuras array y cadena
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 8

Las clases derivadas y Polimorfismo


2 Clase Teórica Tipo Abstracto de datos
10/03 al 13/03 El papel de la Abstracción de datos.
Tipo de datos, tipo abstracto de datos y estructura de
Clase Práctica: Resolución de datos
problemas tipo Tipos abstractos de datos fundamentales (TAD):
Introducción. Especificación Funcional. Implementación.
La clase Vector. La clase String.

3 Clase Teórica Tipos abstractos de datos fundamentales.


17/03 al 26/03 Tipo de datos Listas, Pilas y Colas
Clase Práctica: Resolución de Ejercicios
problemas tipo
Clase teórica. Concepto y Naturaleza de la recursividad.
4 Introducción a la recursividad Escritura de funciones recursivas Uso de la recursividad.
31/03 al 02/04 Cuando no utilizar la recursividad.
Clase Práctica: Resolución de Seguimiento de la recursividad.
problemas tipo Recursividad directa e indirecta.
Formación experimental Ventajas y desventajas.
Trabajos de laboratorio Ejercicios

5 Clase teórica. Métodos recursivos de búsqueda y de ordenación.


07 al 09/04 Clase Práctica: Resolución de Búsqueda binaria recursiva. Ordenamiento rápido:
problemas tipo QuickSort, MergeSort
Formación experimental
Trabajos de laboratorio
6 Clase Teórica: Revisión y Consultas Unidades 1, 2, 3
14/04 al 17/04 1º Parcial
Clase Práctica: 1º Parcial
7 Clase teórica. Estructuras dinámicas de datos
21/04 al 24/04 Clase Práctica: Resolución de Punteros. La clase Nodo.
problemas tipo La Estructura Lista. Descripción lógica.
Formación experimental Listas enlazadas.
Trabajos de laboratorio Listas ordenadas.
Procesamiento de listas
8 Clase teórica. Implementación de pilas y colas dinámicas
28/04 al 08/05 Clase Práctica: Resolución de Ejercicios
problemas tipo
Formación experimental
Trabajos de laboratorio
9 Clase teórica: Coloquio estructuras Ejercicios y programas con estructuras dinámicas.
12/05 al 15/05 dinámicas listas, pilas y colas Estructuras Árbol.
Clase Práctica: Resolución de Operaciones básicas con árboles binarios.
problemas tipo Recorridos
Formación experimental
Trabajos de laboratorio Definiciones y conceptos básicos.
Realización de árboles
10 Clase teórica. Coloquio Árboles Estructuras grafos
19/05 al 22/05 Clase Práctica: Resolución de Definiciones fundamentales
problemas tipo Representación. Organización en red, grafos orientados y
Formación experimental no orientados.
Trabajos de laboratorio
11 Clase teórica. Recorridos, búsqueda de caminos, grafos de costes.
26/05 al 29/05 Clase Práctica: Resolución de Algoritmos de análisis y manipulación de grafos
problemas tipo (Dijkstra, Floyd, Warshall, etc.).

12 Clase Teórica: Revisión y Consultas Unidades 4,5,6


02 al 05/06 2º Parcial
Clase Práctica: 2º Parcial

13 Clase Teórica: Revisión y Consultas Introducción a los Sistemas de bases de datos


UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 9

09/06 al 12/06 Recuperaciones de parciales 1 y 2 Definición


Clase Práctica: Recuperación 1º y Ventajas de la utilización de un Sistema de base de
2º Parcial datos.
Tipos de bases de datos.
Características del Modelo Relacional
14 Período previo a exámenes para
16-19/06 consulta de alumnos

BIBLIOGRAFÍA:
BIBLIOGRAFÍA BÁSICA
LUGAR Y AÑO
AUTOR TITULO EDITORIAL DE EDICIÓN

"Fundamentos de Joyanes Aguilar, L. McGraw-Hill España, 2003


programación. Algoritmos,
estructuras de datos y objetos"
“Estructura de datos y Aho, Alfred V. Addison- Wesley Estados Unidos, 2009
algoritmos” Hopcroft, John E. y Hispanoamericana S.A
Ullman, Jeffrey D.
Adam Drozdek Estructuras de datos y Thomson 2007
algoritmos con Java
Zenón José Hernández Fundamentos de Thomson 2005
Figueroa Estructuras de Datos

BIBLIOGRAFÍA COMPLEMENTARIA:
LUGAR Y ANO
AUTOR TITULO EDITORIAL DE EDICIÓN
Estructura de Datos, Joyanes y Aguilar McGraw-Hill España, 2007
Algoritmos, abstracción y Ignacio Zahoneo
objetos Martínez
Apuntes de la cátedra 2017

CONSULTA ALUMNOS (7)


Tiempo Responsables Modalidad ( presencial y/o virtual)

2 horas M.B.A Lic. Rosa Macaione Virtual


(teoría)

2 horas Auxiliar docente (práctica) Virtual

OBSERVACIONES:
El estudio de estructuras de datos y de algoritmos es tan antiguo como el nacimiento de la programación y se
ha convertido en estudio obligatorio en todos los currículos desde finales de los años 70 y sobre todo en esa
misma década cuando apareció el lenguaje Pascal de la mano del profesor Niklaus Wirtz, y posteriormente en la
década de los ochenta con la aparición de su obra —ya clásica— Algorithms and Data Structures (1986).

Muchas facultades y escuelas de Ingeniería, así como institutos tecnológicos, comienzan sus cursos de
Estructuras de Datos con el soporte de Java. Existen muchas razones por las cuales pensamos que Java es
apropiado para la formación en estructuras de datos. Una de ellas es que Java, es un lenguaje más moderno que
C o C++, con mejores funcionalidades, orientado a objetos, a la programación en Web.

El primer problema que se suele presentar al estudiante de Estructura de Datos que, probablemente,
procederá de un curso de nivel básico, medio o avanzado de introducción o fundamentos de programación o
bien de iniciación en algoritmos, es precisamente el modo de afrontar información compleja desde el principio.
Aunque es verdad que Java tiene muchas ventajas sobre un lenguaje procedimental, por ejemplo C, muchas de
estas ventajas no se hacen evidentes hasta que un programa se “vuelve” o “hace” más complejo. En este caso el
paradigma orientado a objetos es una herramienta de programación y organización muy poderosa y con grandes
ventajas para la enseñanza y posterior tarea profesional.
UNIVERSIDAD CATOLICA DE SALTA - PLANIFICACION DE CATEDRA 10

A primera vista, Java es más interesante que un lenguaje procedimental por su enfoque orientado a objetos,
aunque puede parecer, en el caso del análisis y diseño de algoritmos y estructuras de datos, que esta propiedad
añade una complejidad inherente y no es así, la implementación en clases y objetos puede darle una nueva
potencialidad. Pensando en esta transición se ha incluido conceptos teórico-prácticos de orientación a objetos,
soportando la comprensión del tipo abstracto de datos (TAD) de modo que el estilo de programación empleado
en el texto se basa en el estudio de tipos abstractos de datos como base para la formación en orientación a
objetos.

Se estudian estructuras de datos con un objetivo fundamental: aprender a escribir programas más eficientes.
También cabe aquí hacerse la pregunta: ¿Por qué se necesitan programas más eficientes cuando las nuevas
computadoras son más rápidas cada año? La razón tal vez resida en el hecho de que nuestras metas no se
amplían a medida que se aumentan las características de las computadoras.

La potencia de cálculo y las capacidades de almacenamiento aumentan la eficacia y ello conlleva un aumento
de los resultados de las máquinas y de los programas desarrollados por ellas.

La búsqueda de la eficiencia de un programa no debe chocar con un buen diseño y una codificación clara y
legible. La creación de programas eficientes tiene poco que ver con “trucos de programación” sino, al contrario,
se basan en una buena organización de la información y buenos algoritmos. Un programador que no domine los
principios básicos de diseños claros y limpios probablemente no escribirá programas eficientes. A la inversa,
programas claros requieren organizaciones de datos claras y algoritmos claros, precisos y transparentes.

Salta, 24 de febrero de 2021

_____________________
FIRMA RESPONSABLE

También podría gustarte