Skip to content

Introduction

This initial block serves as a conceptual starting point for all the content developed throughout the course. Its purpose is to provide a solid foundation on the technical and structural elements that appear recurrently in subsequent lessons, before delving into the mathematical foundations of deep learning and the detailed analysis of models and algorithms.

First, the functioning of Python environments is addressed, with a focus on the most common methods for their creation and on the modern tools available for dependency management. The discussion covers how to configure reproducible and maintainable environments over time, as well as the importance of efficient package management to avoid dependency conflicts. This perspective is especially relevant when considering the transition from an experimental project to a production environment, where stability, traceability, and professionalization of the workflow become central concerns.

Next, the basic data structures of Python are reviewed, not as isolated concepts, but as transversal elements that appear constantly in the development of Machine Learning and Deep Learning applications. Although these structures may have been studied previously in other courses or with other instructors, they are revisited here with the aim of consolidating their understanding and analyzing their specific use within the Python language. It is worth emphasizing that, while many of these structures are common across different programming languages, Python takes center stage as the predominant language in machine learning and deep learning libraries.

The treatment of these data structures is accompanied by simple usage examples that illustrate their basic functioning. However, this block has an eminently formative and progressive character, in which learning is reinforced through direct experimentation. It is the student's responsibility to execute the examples, modify them, and explore variations, as this active process is key to consolidating the theoretical concepts presented.

Once this foundation is established, the concept of tensor is introduced, understood as the fundamental data structure upon which deep learning libraries operate. Tensors represent the way data is organized and processed internally, especially when working with hardware accelerators such as GPUs. This transition from basic data structures to tensors makes it possible to understand how initial concepts evolve toward more abstract and efficient models of representation and computation.

Finally, the block is completed with an introduction to the use of Python libraries, their installation, and their integration within properly managed environments. It explains how to avoid dependency conflicts and how to apply good design practices to create sustainable code. In this context, the creation of a custom library is also proposed, applying the concepts learned about data structures and object-oriented programming. This approach provides insight into how machine learning libraries are designed internally, based on class hierarchies, inheritance, and functionality reuse, and offers a deeper view of how the Python ecosystem works at a professional level.