-
Notifications
You must be signed in to change notification settings - Fork 44
Home
Hernan Valdivieso edited this page Dec 15, 2022
·
5 revisions
A lo largo del este curso, el alumno desarrollará técnicas para diseñar, implementar, ejecutar y evaluar herramientas de software que resuelvan problemas algorítmicos a partir de especificaciones detalladas. El alumno 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 técnicas básicas de mantención de código incluyendo guía de estilo, modularización y sistemas de manejo de versiones.
- Inferir un modelo de objetos para resolver problemas realistas, e implementar esta solución usando técnicas de programación orientada a objetos.
- Usar estructuras de datos básicas para resolver problemas de programación.
- Utilizar objetos iterables para resolver problemas de programación.
- Aplicar el concepto de threading para la modelación de problemas de colas.
- Construir interfaces gráficas funcionales utilizando bibliotecas apropiadas.
- Aplicar las formas de manejo de excepciones en un programa, para construir código robusto.
- Implementar estructuras de datos basadas en nodos, como listas ligadas, árboles, y grafos.
- 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.
- Estructuras de datos básicas:
- Tuplas
- Named tuples
- Stacks
- Colas
- Diccionarios
- Sets
- Programación Orientada a Objetos:
- Objetos
- Herencia
- Herencia múltiple
- Polimorfismo
- Clases Abstractas
- Iterables:
- Iterables
- Generadores
- Funciones de mapeo, filtro y reducción
- Manejo de Excepciones:
- Tipos de excepciones
- Control de excepciones
- Estructuras de datos basadas en nodos:
- Listas ligadas
- Árboles
- Grafos
- Técnicas básicas de mantención de código
- Concepto y uso 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
- I/O:
- Manejo de bytes
- Serialización binaria
- Serialización en formato JSON
- Networking:
- Sockets
- Modelo cliente-servidor
- Paso de mensajes
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