The goal of "Algorithm and Data Structure" is to help you learn the fundamental tools in Python that will allow you to start analysing data. This subject divides its syllabus into two general blocks: the algorithmic block and the data structure block. In the first block, the subject aims to carry on teaching those algorithms necessary for the processing of large volumes of data, introducing Python and focusing on the optimization of the algorithmic cost. In the second block, the subject aims to teach different types of data structures that serve to store information optimally according to their characteristics.
Titular Professors
Professors
--
The primary objective of the "Algorithm and Data Structure" subject is to equip you with the foundational tools to address data analysis challenges using Python. Through this course, you will understand how efficient data structures are crucial for designing algorithms capable of handling large amounts of data efficiently. The specific learning outcomes focus on understanding different types of algorithms, evaluating their computational costs and optimization parameters, and exploring various ways to structure data. Ultimately, by mastering the Python environment, you will learn to practically manipulate and code both simple algorithms and diverse data structures.
This course, based on the foundational text "Python for Data Analysis" by Wes McKinney, equips students with the essential skills for data manipulation, cleaning, and analysis using the Python programming language. The curriculum focuses on mastering the pandas library, which is introduced as the core tool for handling real-world, messy datasets through its powerful DataFrame structure. Students learn to perform critical data-wrangling tasks, including data loading, cleaning, and transformation, all with a practical, hands-on approach. The course emphasizes direct problem-solving with runnable code examples, ensuring a deep, practical understanding of every technique.
In addition to pandas, the course provides a solid foundation in using other key libraries, such as Seaborn for creating compelling data visualizations. By integrating these tools, the curriculum teaches students to efficiently prepare, explore, and analyse data, bridging the gap from raw information to meaningful insights. The emphasis on practical problem-solving helps students develops the ability to turn theoretical knowledge into actionable skills, preparing them to tackle real-world data science challenges.
The following table relates the learning outcomes to the areas and the content taught to achieve them.
| RA | Syllabus | Contents |
| R1 | Understand what an algorithm is | What is Python?What is an Algorithm? What are the different types of algorithms? |
| R2 | Understand different data structures | What does the concept of ‘data structure’ mean?What are the different types of data available in Python? |
| R3 | Understand the Python environment for data analysis | Learn to program with the main Python libraries for data analysis?
|
| R4 | Know how to do data processing in Python | Learn how to do common data processing tasks in Python:
|
| R5 | Know how to do data visualization in Python | Learning how to make informative visualizations (sometimes called plots) is one of the most important tasks in data analysis. It may be a part of the exploratory process, to help find outliers or needed data transformations, or as a way of generating ideas for models. |
The subject has two teaching sessions every week. Each Session is divided into Two parts: a first part is masterful in which the teacher explains the new Contents and a second part in which the students work in new exercises to consolidate the subject. Every two or three weeks, individual or group evaluation activities are carried out by means of written tests, collection of exercises carried out at home, etc.
The following table shows the percentage of evaluation of each activity on the final grade:
CONTINUOUS EVALUATION SYSTEM:
| R1 - R2 - R3 | 40% | 10% | WORK IN GROUP |
| 30% | 1st MIDTERM | ||
| R4 - R5 | 60% | 20% | PROJECT IN GROUP |
| 40% | FINAL EXAM |
Objectives of the continuous evaluation:
- The main goal is to help students to update the subject and get a good method of work, so that it helps them to assimilate the subject, taught progressively, and in obtaining good academic results.
- It also allows to value the work that the student does day by day, without his note depends only of the examinations realized during the semesters of the academic course.
- As a teacher, it helps to have more information about the work done by students and a better knowledge of them, both academically and personally.
Artificial Intelligence: It is prohibited to use Artificial Intelligence tools such as ChatGPT. Using AI tool will be considered as cheating and will be sanctioned with a 0. Moreover, the professor will inform the academic director which could be the basis for deciding on additional disciplinary measures.
Retake policy: Since this course uses a continuous evaluation model, there will be no retake exams.
--
- Wes McKinney, Python for Data Analysis. O’Reilly, 3rd Edition, 2022
--