[ATD-020] Python Avanzado

[ATD-020] Python Avanzado

Este curso permite a los programadores mejorar sus habilidades mediante un repaso de funcionalidades, instalación del entorno y el uso de bibliotecas como NumPy y Pandas. Se cubren temas como programación funcional, iteradores, generación de listas, análisis de algoritmos, y técnicas de programación concurrente y multiprocesamiento

Duración:                     25 horas

Perfil:                            Avanzado

Dirigido a

A programadores con experiencia previa en Python que desean profundizar en aspectos avanzados del lenguaje y mejorar sus habilidades en el manejo de datos y optimización de algoritmos. Es ideal para desarrolladores de software, científicos de datos y analistas que buscan aplicar técnicas avanzadas en sus proyectos.

Requisitos previos 

Los alumnos necesitarán tener conocimientos de programación con Python, Familiaridad con conceptos básicos de programación, estructuras de datos y algoritmos. y experiencia en el uso de bibliotecas básicas de Python.

Objetivos

  • Profundizar en las funcionalidades avanzadas de Python, incluyendo la instalación y configuración de entornos de desarrollo.

  • Desarrollar habilidades en la manipulación de datos utilizando bibliotecas como NumPy y Pandas.

  • Comprender y aplicar conceptos de programación funcional y análisis de algoritmos mediante la notación Big O.

  • Aprender a utilizar iteradores, generadores y listas de comprensión para mejorar la eficiencia del código.

  • Implementar técnicas de programación concurrente y multiprocesamiento para optimizar el rendimiento de aplicaciones Python.

  • Uso de Python para la creación de modelos de IA generativa para su uso en aplicaciones.

 

 

Contenido

  1. Repaso de Funcionalidades de Python

    1. Breve revisión de las características clave de Python.

    2. Comparación entre versiones de Python y sus mejoras.

  2. Instalación y Configuración del Entorno

    1. Guía para la instalación de Python y configuración de IDEs.

    2. Configuración de entornos virtuales para proyectos.

  3. Entornos Virtuales

    1. Creación y gestión de entornos virtuales con venv y virtualenv.

    2. Importancia de los entornos virtuales en el desarrollo.

  4. Pruebas, Depuración y Logs

    1. Estrategias para la implementación de pruebas unitarias utilizando unittest y pytest.

    2. Técnicas de depuración y registro de logs en aplicaciones.

  5. Paquetes y Distribución

    1. Creación de paquetes Python y su estructura.

    2. Uso de setuptools para la distribución de paquetes.

  6. Iteradores y Generadores

    1. Implementación de iteradores personalizados.

    2. Creación y uso de generadores para manejo eficiente de memoria.

  7. Comprehension Lists

    1. Uso de listas de comprensión para simplificar la creación de listas.

    2. Aplicación de comprehensions en conjuntos y diccionarios.

  8. Programación Funcional

    1. Introducción a la programación funcional en Python.

    2. Uso de funciones de orden superior y map, filter, y reduce.

  9. Big O Notation

    1. Conceptos de complejidad algorítmica y análisis de eficiencia.

    2. Ejemplos de cálculo de Big O en algoritmos comunes.

  10. Objetos Mutables y No Mutables

    1. Diferencias entre tipos de datos mutables e inmutables.

    2. Ejemplos de comportamiento en operaciones y efectos en el código.

  11. Librería NumPy

    1. Introducción a NumPy y sus capacidades para cálculos numéricos.

    2. Manipulación de arrays, operaciones y funciones matemáticas.

  12. Álgebra Lineal con NumPy

    1. Uso de NumPy para operaciones de álgebra lineal.

    2. Ejemplos de matrices, determinantes y resolución de sistemas lineales.

  13. Librería Pandas

    1. Fundamentos de Pandas para la manipulación y análisis de datos.

    2. Creación de DataFrames, selección de datos y operaciones básicas.

  14. Visualización de Datos

    1. Introducción a bibliotecas de visualización como Matplotlib y Seaborn.

    2. Creación de gráficos y representación visual de datos.

  15. Manipulación de Ficheros

    1. Lectura y escritura de archivos con diferentes formatos (CSV, JSON).

    2. Técnicas de procesamiento de datos a partir de archivos.

  16. Búsquedas de Patrones

    1. Introducción a expresiones regulares con el módulo re.

    2. Ejemplos de búsqueda y manipulación de texto.

  17. Agregaciones de Datos

    1. Técnicas de agregación en Pandas (media, desviaciones, percentiles, etc.).

    2. Análisis estadístico básico a partir de conjuntos de datos.

  18. IA generativa con Python IA

    • Introducción a Tensorflow

    • Modelos de IA generativa

    • Iniciación a la creación de chatbots

  19. Programación Concurrente

    1. Introducción a la programación concurrente y paralelismo.

    2. Uso de hilos (threading) y procesos (multiprocessing) en Python.

 

 

Documentación Recomendada

The Quick Python Book
Naomi Ceder
May 2018 | 472 pages

https://www.manning.com/books/the-quick-python-book-third-edition