Programación, Asincronía, POO, Programación Funcional, Desarrollo de Software, MV*, Python for Science
Este Máster en Programación con Python va más allá de la enseñanza del lenguaje de programación Python profundizando en desarrollo de software y está diseñado para que sus estudiantes no sólo se acostumbren a un lenguaje sino también a una forma de pensar y sigan una metodología de desarrollo probada.
En el Máster en Programación con Python aprenderás criterios de calidad del código y a establecer la mentalidad necesaria para afrontar un proyecto con unos altos el modelo de datos de Python y sus estructuras de control y protocolos al detalle, así como a trabajar con mecanismos de programación concurrente en Python. Descubrirás cómo trabajar con el paradigma de la programación orientada a objetos, sus interpretaciones más modernas y su implementación con Python. También aprenderás las técnicas de la programación funcional aplicadas al desarrollo Python.
Además, y más enfocado al desarrollo de software, se explorarán diversas ténicas utilizadas en ingeniería de software para conseguir código escalable y mantenible a través de software de terceros. Eso sí, siempre desde una aproximación Pythonica.
Una de las grandes aplicaciones de Python es su aplicación en el mundo de la ciencia. Por eso también se enseñarán pinceladas acerca del ecosistema científico alrededor de Python, con especial atención a la distribución Anaconda y Jupyter Notebook.
Temario oficial:
- Git y GitHub
- Visual Studio Code: edición, depuración y configuración
- Virtualenv
- pip
- SOLID
- Testing y TDD
- Interfaces, contratos y APIs
- Clean Code
- Tipos de datos básicos
- Cadenas de texto y bytes
- Funciones, closures y decoradores
- Depuración en Python
- Organización del código
- Paquetes
- Módulos
- Excepciones y gestión de errores
- Manejo de archivos
- Entrada y salida
- Interfaces de línea de comandos
- Tipos personalizados: clases
- Atributos y métodos
- Propiedades y descriptores
- Self
- Herencia y composición
- Multiherencia
- Tipos abstractos
- Métodos privados y públicos
- Tipado dinámico frente a tipado estático
- TDD como ciclo básico de trabajo
- Testing
- Pytest
- Unittest
- Hamcrest
- Mamba
- El patrón MV* de la mano de Flask
- Logging y monitorización
- Arquitecturas de servidor
- PyPy
- Programación asíncrona
- Paralelismo
- Multiprocesamiento
- Flask
- Django
- Tornado
- Asyncio
- Sanic
- Anaconda
- Jupyter Notebook
- NumPy