La asignatura de "Algoritmo y estructura de datos" explora cómo la capacidad de formular un algoritmo eficiente depende de poder organizar los datos de manera adecuada. En la primera parte del cuatrimestre, se analizan numerosas estructuras de datos prácticas, que van desde arreglos y listas familiares hasta estructuras más complejas como árboles, montones y gráficos, y se examina cómo su elección afecta directamente la eficiencia de los algoritmos basados en ellos. La segunda parte del cuatrimestre hace una transición a un enfoque más conceptual al introducir los "tipos de datos abstractos". Estos son modelos matemáticos abstractos definidos solo por las operaciones que se pueden realizar en ellos, sin tener que preocuparse por los detalles de implementación asociados con lenguajes de programación particulares o cómo se almacenan los datos en la memoria de la computadora.
Profesores Titulares
Profesores Docentes
--
El objetivo principal de la asignatura "Algoritmo y estructura de datos" es proporcionarle las primeras herramientas para abordar algunos desafíos de análisis de datos, utilizando algunas partes del software Python. A través de este curso, comprenderá cómo las estructuras de datos eficientes son clave para diseñar algoritmos eficientes capaces de manejar grandes cantidades de datos de manera eficiente. Los resultados de aprendizaje específicos se centran en comprender qué es un algoritmo y los diferentes tipos, evaluar cuál es el costo del algoritmo y cuáles son los parámetros para optimizarlo, y explorar las diferentes formas de estructurar los datos. En última instancia, al comprender el entorno de Python, aprenderá de manera práctica a manipular y codificar algoritmos simples y diferentes estructuras de datos usando Python.
Este curso proporciona a los estudiantes las habilidades esenciales para la manipulación, limpieza y análisis de datos utilizando el lenguaje de programación Python. El programa se centra en el dominio de la biblioteca Pandas, que se presenta como la herramienta clave para gestionar conjuntos de datos desordenados del mundo real mediante su potente estructura DataFrame. Los estudiantes aprenden a realizar tareas críticas de manipulación de datos, como la carga, limpieza y transformación de datos, todo ello con un enfoque práctico. El curso hace hincapié en la resolución directa de problemas con ejemplos de código ejecutables, lo que garantiza una comprensión profunda y práctica de cada técnica.
En la siguiente tabla se ponen en relación los resultados de aprendizaje con el contenido impartido para alcanzarlos.
| RA | Temario | Contenidos |
| R1 | Comprender qué es un algoritmo | ¿Qué es Python? ¿Qué es un algoritmo? ¿Cuáles son los diferentes tipos de algoritmos? |
| R2 | Comprender las diferentes formas de estructurar los datos | ¿Qué significa el concepto de "estructura de datos"? ¿Cuáles son los diferentes tipos de datos disponibles en Python? |
| R3 | Comprender el entorno de Python para análisis de datos | Aprender a programar con las principales librerías de Python para el análisis de datos: Jupyter, Pandas y Seaborn |
| R4 | Aprender a procesar datos en Python | Aprender a realizar tareas comunes de procesamiento de datos en Python: Carga de datos Limpieza de datos Manejo de datos |
| R5 | R5. Aprender a visualizar datos en Python | Aprender a hacer visualizaciones informativas (a veces llamadas gráficos) es una de las tareas más importantes en el análisis de datos. Puede ser parte del proceso exploratorio, para ayudar a encontrar valores atípicos o transformaciones de datos necesarias, o como una forma de generar ideas para modelos |
La asignatura tiene 1 Funcionamiento semanal con Dos sesiones lectivas. Cada Sesión es divide en Dos partes: una primera parte es magistral en la que el profesor explica a los nuevos Contenidos y 1 Segunda a la que a los alumnos trabajan en nuevos Ejercicios para consolidar la materia. Cada dos o tres sesiones se realizan actividades evaluativas
La siguiente tabla muestra el porcentaje de evaluación de cada actividad sobre la nota final:
SISTEMA DE EVALUACIÓN CONINUTA:
R1 - R2 - R3 | 40% | 10% | Trabajo en Grupo |
30% | Examen Parcial | ||
R4 - R5 | 60% | 20% | Proyecto en Grupo |
40% | Examen Final |
Objetivos de la evaluación continua:
- El objetivo principal es ayudar a los alumnos a actualizar la asignatura y conseguir un buen método de trabajo, de manera que les ayude a asimilar la asignatura, impartida de forma progresiva, y en la obtención de buenos resultados académicos.
- También permite valorar el trabajo que realiza el alumno día a día, sin que su nota dependa únicamente de los exámenes realizados durante los semestres del curso académico.
- Como docente, ayuda tener más información sobre el trabajo realizado por los alumnos y un mejor conocimiento de estos, tanto académica como personalmente.
Inteligencia Artificial: está prohibido el uso de herramientas de inteligencia artificial como ChatGPT. El uso de herramientas de IA se considerará una trampa y se sancionará con una nota de 0. Además, el profesor informará al director académico, lo que podría servir de base para decidir medidas disciplinarias adicionales.
Política de recuperación: dado que este curso utiliza un modelo de evaluación continua, no se realizarán exámenes de recuperación.
--
- Wes McKinney, Python for Data Analysis. O’Reilly, 3rd Edition, 2022
--