• A continuación, aulas y horarios de cursado y consultas (aplicable a TODOS los inscriptos en este curso)


    Introducción

    Algoritmos y Estructuras de Datos cumple un rol muy importante en la capacidad creativa y de formación de los futuros profesionales. En el ámbito de la informática, las estructuras de datos son aquellas que nos permiten, como desarrolladores, organizar la información de manera eficiente, y en definitiva diseñar la solución correcta para un determinado problema. 

    El curso de Algoritmos y Estructuras de Datos tiene como propósito fundamental proporcionar al estudiante las técnicas de organización y manejo de datos más usuales y los criterios que le permitan decidir, ante un problema determinado, cuál es la estructura y los algoritmos óptimos para manipular los datos. Este curso está diseñado para proporcionar al alumno la madurez y los conocimientos necesarios para enfrentar, y analizar una gran variedad de los problemas que se le presentarán en su vida profesional futura y en los cursos más avanzados, tanto teóricos como de desarrollo de sistemas. El temario gira en torno a dos temas principales: estructuras de datos y análisis de algoritmos. 

    Hay que enfatizar que el curso de Algoritmos y Estructuras de Datos no es un curso de programación avanzada, su objetivo es preparar al estudiante brindándole una visión amplia de las herramientas y métodos más usuales para la solución de problemas y el análisis de la eficiencia de dichas soluciones. Al terminar el curso el alumno poseerá un nutrido "arsenal" de conocimientos de los que puede echar mano cuando lo requiera en su futura vida académica y profesional. Dadas estas características del curso, Algoritmos y Estructuras de Datos marca generalmente la frontera entre un programador principiante y uno maduro, capaz de analizar, entender y programar sistemas de software más o menos complejos.

    Es una materia común a todas las carreras de pregrado y de grado que se dictan en la FIUNER.

    Equipo Docente

    Profesor Titular:

    • Dr. Javier E. Diaz Zamboni (javier.diaz@uner.edu.ar)

    Profesor Adjunto:

    • Bioing. Jordán F. Insfrán (jordan.insfran@uner.edu.ar)

    Profesores Jefes de Trabajo Práctico:

    • Bioing. Diana Vertiz del Valle (de licencia) 
    • Esp. Bioing. Juan Francisco Rizzato (juan.rizzato@uner.edu.ar)
    • Dr. Bioing. Feliciano Franco (feliciano.franco@uner.edu.ar)
     
    Profesor Ayudante:
    • Lautaro Caupolicán Ré (caupolican.re@uner.edu.ar)
     
    Docentes Auxiliar Alumna/o:
    • Luciana Costa (luciana.costa@uner.edu.ar)

    Contenidos

    Programa de contenidos

    Unidad 1 - Estructuras de datos y tipos abstractos de datos: Estructuras de datos. Tipos abstractos de datos (TAD): Especificación lógica. Operaciones de inserción, consulta, edición, borrado y copia. Niveles de abstracción. Clasificaciones. Implementación y prueba de TAD. TAD integrados o disponibles en bibliotecas.

    Unidad 2 - Diseño y análisis de algoritmos: Introducción al diseño de algoritmos. Costo computacional. Análisis a priori y a posteriori. Tiempo de ejecución. Notación asintótica. Recursividad. Tipos de recursividad. Análisis de costo para algoritmos recursivos. Algoritmo recursivo versus iterativo. 

    Unidad 3 - Estructuras de datos lineales: Arreglos, listas, listas con restricciones. Representación posicional y enlazada. Análisis de implementaciones disponibles. Tablas de dispersión. Colisiones. Tablas de dispersión abiertas y cerradas. Funciones de dispersión.

    Unidad 4 - Algoritmos de búsqueda y ordenamiento: Algoritmos de búsqueda lineal y dicotómica. Clasificaciones de algoritmos de ordenamiento. Algoritmos de ordenamiento. 

    Unidad 5 - Árboles y algoritmos asociados: Estructuras de datos jerárquicas. Árboles binarios. Recorridos en árboles binarios. Montículos binarios. Árbol binario de búsqueda. Árbol AVL. Árboles generales: Árboles N-arios, árboles multicamino, árboles B. 

    Unidad 6 - Grafos y algoritmos asociados: Definición formal de grafo. Representaciones computacionales de grafos. Clasificaciones de grafos. Algoritmos de grafos: búsqueda, recorrido, ordenamiento topológico, algoritmo de Prim, algoritmo de Dijkstra, algoritmo de Warshall.

    Metodología de Evaluación durante el Cursado

    Para alcanzar la regularidad se realizarán dos evaluaciones, las cuales en conjunto permiten indagar las capacidades adquiridas en resolución de problemas, habilidades de programación y manejo de conceptos de la asignatura. Por un lado, los alumnos deberán aprobar dos trabajos prácticos, y por otro, aprobar una evaluación de conceptos. Por su parte, para la promoción de la asignatura la evaluación consiste en una defensa teórico-práctica del segundo trabajo práctico.

    Regularidad

    Evaluación de Trabajos Prácticos

    Las y los estudiantes deberán resolver y presentar dos trabajos prácticos de manera grupal, con la guía y supervisión de los Jefes de Trabajos Prácticos, quienes revisarán las entregas y brindarán las retroalimentaciones correspondientes. La evaluación de los trabajos prácticos considerará el grado de logro en la resolución de problemas mediante la aplicación de los conceptos abordados en la asignatura, así como el desempeño en la implementación de soluciones algorítmicas mediante programación, fundamentándose en la producción presentada, que incluirá el código desarrollado, las pruebas realizadas y el informe correspondiente. Todos los trabajos prácticos cuentan con instancias de recuperación.

    Evaluación de conceptos

    Esta evaluación está dividida en dos exámenes parciales basados en cuestionarios de carácter teórico-práctico de resolución individual, los cuales deben ser aprobados con una nota mayor o igual al 60%. En caso de no aprobar, podrán recuperarse en instancias evaluativas semejantes en el período de recuperación.

    Promoción

    Habiendo aprobado los parciales, la promoción se alcanza realizando una defensa teórico-práctica del segundo trabajo práctico. Esta defensa puede ser oral o escrita, dependiendo de la cantidad de estudiantes que se presenten a la promoción. 

    En la defensa de forma oral del trabajo práctico, el alumno deberá exponer individualmente justificando su desarrollo, implementación y pruebas, respondiendo correctamente a las preguntas que formulen los docentes en el contexto del dominio de los temas de la asignatura.

    En la defensa de forma escrita, el alumno deberá responder preguntas por escrito sobre el desarrollo, implementación y pruebas de los problemas del trabajo práctico respondiendo correctamente a las preguntas formuladas en el contexto del dominio de los temas de la asignatura.

    Para el acceso a la promoción se requerirá haber cumplido los requisitos de regularidad.

    Instrumentos de evaluación

    Como instrumentos de evaluación de trabajos prácticos y para la promoción se utilizarán rúbricas elaboradas por el equipo de cátedra. Las mismas estarán disponibles para los estudiantes de modo que el proceso de evaluación sea lo más transparente posible y que el instrumento también tienda hacia su utilización como guía para aprendizaje. En relación a los trabajos prácticos, las y los estudiantes también dispondrán de una plantilla para la confección de los informes.

    Metodología de Evaluación en Exámenes Finales

    La evaluación en los exámenes finales se estructura de manera coherente con la metodología de evaluación desarrollada durante el cursado, considerando instancias orientadas a evaluar el dominio conceptual de la asignatura y la capacidad de aplicar dichos conceptos en la resolución de problemas mediante el desarrollo y análisis de soluciones algorítmicas.

    Estudiantes regulares

    El examen final para estudiantes regulares consta de dos instancias eliminatorias:

    Evaluación de conceptos

    Consiste en un cuestionario de carácter teórico-práctico, de resolución individual, orientado a evaluar la comprensión y el dominio de los conceptos fundamentales de la asignatura. Esta instancia se considera aprobada con una calificación igual o superior al 60%.

    Defensa teórico-práctica de un trabajo práctico

    Aprobada la evaluación de conceptos, el estudiante deberá realizar una defensa teórico-práctica de uno de los trabajos prácticos desarrollados durante el cursado. El trabajo práctico a defender será seleccionado por el tribunal evaluador.

    La defensa se desarrollará bajo las mismas modalidades e instrumentos que la instancia de promoción, pudiendo ser oral o escrita según la cantidad de estudiantes que se presenten al examen final.

    En la modalidad oral, el estudiante deberá exponer individualmente justificando el diseño, la implementación y las pruebas realizadas, respondiendo a las preguntas formuladas por el tribunal. En la modalidad escrita, deberá responder por escrito preguntas vinculadas al desarrollo, implementación y validación de la solución presentada. 

    En ambas modalidades, la defensa se centrará en la verificación del dominio de los temas centrales de la asignatura, a partir de la justificación del diseño, la implementación y las pruebas realizadas, respondiendo de manera fundamentada a las preguntas formuladas por el tribunal en el marco de los contenidos abordados durante el cursado.

    La calificación final del examen se compondrá ponderando un 30% la evaluación de conceptos y un 70% la defensa teórico-práctica. En caso de desaprobar la evaluación de conceptos, la calificación final será la obtenida en dicha instancia. En otras situaciones de desaprobación, la calificación final será determinada por el tribunal evaluador.

    Estudiantes libres

    El examen final para estudiantes libres consta de las siguientes instancias eliminatorias:

    Entrega y aprobación de los trabajos prácticos

    El estudiante deberá presentar y aprobar los trabajos prácticos definidos en la planificación vigente de la asignatura, los cuales serán evaluados con los mismos criterios e instrumentos utilizados durante el cursado inmediato anterior.

    Instancias del examen final para estudiantes regulares

    Aprobada la instancia anterior, el estudiante continuará con las etapas correspondientes al examen final de estudiantes regulares.

    En caso de no aprobar la entrega de los trabajos prácticos, la calificación final será determinada por el tribunal evaluador.

    Estrategias de devolución de resultados de los exámenes

    La devolución de resultados de exámenes parciales, recuperatorios o de exámenes finales se realiza en forma escrita en la planilla de seguimiento estudiantes (de cursada o de finales), en un tiempo no mayor 72 hs hábiles y la retroalimentación se realiza de forma oral en horarios de consulta de los docentes.

    La devolución de resultados de las evaluaciones de los trabajos prácticos de cursada o finales se realiza en forma escrita en la planilla de seguimiento estudiantes (de cursada o de finales), en un tiempo no mayor a 10 días hábiles y la retroalimentación se realiza de forma escrita con espacio para revisión en los horarios de consulta de los docentes de práctica.

    La devolución de resultados de las evaluaciones de las defensas teórico-prácticas para  promoción o del examen final se realiza en forma escrita en la planilla de seguimiento estudiantes (de cursada o de finales), en un tiempo no mayor a 72 hs hábiles y la retroalimentación se realiza de forma escrita con espacio para revisión en los horarios de consulta de los docentes.

    Condiciones de regularidad y promoción

    Serán reconocidos como alumnos regulares aquellos que hayan aprobado la evaluación de los trabajos prácticos y aprobado las etapas de evaluación parcial con calificación mayor o igual a 60%.

    Serán reconocidos como alumnos promocionados quienes hayan alcanzado la condición de regularidad y aprobado la defensa del trabajo práctico Nº 2 con una nota mayor o igual a 60%.