-
Notifications
You must be signed in to change notification settings - Fork 12
1. Inicio
A lo largo del este curso, el estudiante desarrollará técnicas para diseñar, implementar, ejecutar y evaluar herramientas de software que resuelvan problemas algorítmicos a partir de especificaciones detalladas. El estudiante será capaz de desarrollar construcciones avanzadas de programación orientada a objetos y estructuras de datos fundamentales, construir código robusto, construir interfaces gráficas, y utilizar conceptos como threading, serialización y paso de mensajes.
-
Comprender y aplicar técnicas básicas de mantención de código incluyendo uso de guía de estilo, modularización y sistemas de manejo de versiones (GIT).
-
Inferir un modelo de objetos para resolver problemas realistas e implementar esta solución usando técnicas de programación orientada a objetos.
-
Utilizar y diseñar objetos iterables para resolver problemas de programación.
-
Conocer el Paradigma de Programación Funcional a través de las herramientas de Python.
-
Comprender y aplicar el concepto de threading para la modelación de problemas de concurrencia.
-
Construir interfaces gráficas funcionales utilizando módulos apropiados.
-
Utilizar las formas de manejo de excepciones en un programa, para construir código robusto.
-
Utilizar el concepto de serialización para construir codificadores y decodificadores.
-
Utilizar el concepto de paso de mensajes para construir una aplicación distribuida básica.
-
Conocer diferentes herramientas, prácticas y/o algoritmos actuales en el contexto de desarrollo de software.
- Estructuras de datos básicas:
- Tuplas
- Named tuples
- Stacks
- Colas
- Diccionarios
- Sets
- Empaquetado y desempaquetado de datos.
- Programación Orientada a Objetos:
- Objetos
- Herencia
- Herencia múltiple
- Polimorfismo
- Clases Abstractas
- Iterables:
- Objetos iterables
- Listas ligadas
- Generadores
- Funciones de mapeo, filtro y reducción
- Manejo de Excepciones:
- Tipos de excepciones
- Levantamiento y control de excepciones
- Técnicas básicas de mantención de código:
- Concepto y uso de herramientas de sistemas de manejo de versiones.
- Uso de guías de estilo
- Modularización
-
Threading:
- Concepto de pseudo-paralelismo
- Creación y sincronización de threads
- Concurrencia
- Interfaces Gráficas:
- Introducción a las interfaces gráficas usando PyQt5.
- Uso de señales para la comunicación backend y frontend.
- I/O:
- Manejo de bytes
- Serialización binaria
- Serialización en formato JSON
-
Networking:
- Sockets
- Modelo cliente-servidor
- Paso de mensajes
- Aplicaciones en Python:
- Web Services
- Consumo y generación de una API REST.
- Expresiones Regulares
Este curso cuenta con un libro oficial titulado Advanced Programming in Python, que se puede comprar a través de Amazon.
Información adicional acerca del libro:
- Autores: Karim Pichara & Christian Pieringer
- Idioma: inglés
- Formato: paperback de 392 páginas
- ISBN-10: 1548000892
- ISBN-13: 978-1548000899