Una parte clave de las habilidades que deberían tener los científicos de datos es la programación. Campo necesario para poder automatizar los análisis y la creación de modelos. Pero algunos temas importantes como los patrones de diseño, las estructuras de datos y los algoritmos son habitualmente tratados por encima, si se tratan, en los cursos y texto de introducción de Python. Por eso en esta entrada recogemos tres libros de programación que los científicos de datos deberían leer para mejorar sus habilidades.
Mastering Python Design Patterns
A la hora de programar, como en otras áreas, conocer las mejores prácticas es clave. Conceptos que no se suelen incluir en los textos básicos de programación. Por eso es importante profundizar en los patrones de diseño.
El libro de Ayeva y Kasampalis enseña a estructurar el código en Python para ir más allá de los Notebooks y poder crear aplicaciones. No solo usar el lenguaje para realizar cálculos y análisis de datos.
El texto cubre una gran cantidad de patrones de diseño, tales como: Fábrica Abstracta (Abstract Factory), Patrón Constructor (Builder Pattern), Patrón Adaptador (Adapter Pattern), Patrón Decorador (Decorator Pattern), etc.
Architecture Patterns with Python
Otro texto con el que profundizar en los patrones de diseño es este libro de Percival y Gregory. Un libro más avanzado que el anterior en el que se presentan patrones de diseño con los que lidiar con la complejidad creciente de las aplicaciones actuales. Estudiando patrones cómo la arquitectura hexagonal (Hexagonal architecture), la arquitectura dirigida por eventos (EDA, Event-Driven Architecture) o el diseño guiado por el dominio (DDD, Domain-Driven Design).
Un libro que aún así sigue siendo práctico, ya que cada uno de los patrones se ilustran con ejemplos concretos en Python.
Hands-On Data Structures and Algorithms with Python
Conocer y comprender las estructuras de datos y los algoritmos es clave a la hora de crear programas eficientes y elegantes. Conceptos en los que podrás reforzar con el libro de Agarwal, todo ello aplicado en Python.
Las estructuras de datos y los algoritmos a muchos programadores noveles les parece un tema trivial, pero no es así. Una vez que se profundiza en los temas del libro se mejora como programador, aprendiendo a crear código elegante y eficiente. Además, aprender conceptos clave.
Para los programadores de Python, posiblemente este sea el libro para aprender estructuras de datos y algoritmos. Cubriendo temas como los tipos de datos, listas, pilas, árboles, algoritmos de búsqueda y clasificación, etc.
Imagen de Free-Photos en Pixabay