# Curso de Programación con Python.
- días disponibles :: martes 19hr, jueves 19hr y sábados mañana, en lo posible jueves
* Propuesta curso python para Hackerspace.
Curso de Programación de Computadoras con Python
Para rebeldes, místicos y soñadores.
Este curso consiste en enseñar una serie de temas de programación,
usando /principalmente/ el lenguaje *python*. Este es un lenguaje muy
flexible, que puede ser aprendido por personas de todo tipo que
deseen aprender programación, usado para crear diferentes sistemas en
servidores o computadoras personales, procesamiento de datos,
aplicaciones de inteligencia artificial, videojuegos, etc.
El curso pensado para proveer herramientas de sintaxis del lenguaje,
técnicas de desarrollo, algoritmos, patrones de diseño, comprensión
del problema y diseño de soluciones, uso de la documentación.
Se espera que pueda servir como base para el desarrollo del
pensamiento computacional en los proyectos del *hackerspace* y de
impacto transformador.
Por lo que esta invitación es especial para los/las participantes y
quienes estén interesad@s adquirir conocimientos prácticos para
trabajar con computación.
Está compuesto en tres etapas o módulos.
I) Base
En seis (6) clases se revisarán los siguientes temas y conceptos.
Consiste en los elementos fundamentales del lenguaje y la
programación. Identificar tipos de datos, programar y resolver
diferentes problemas básicos.
1. Bases, herramientas de desarrollo, pip, poetry, shell, editores.
2. Tipos de datos, estructuras básicas (tupla, lista, dict, set)
3. Estructuras de control (if, for, while, match)
4. Herramientas modulares de biblioteca standar: itertools, collections, functools, os, path
5. Funciones, lambdas, generadores
6. Lectura/Escritura archivos
7. Datetime, naive, aware, timezones.
II) Intermedio
En seis (6) clases se revisarán los siguientes temas y conceptos.
Consiste en la programación orientada al objeto, definición de clases,
uso de tipos, diseño de software, implementación de sistemas de comunicación.
1. Creación de comandos en terminal
2. Decoradores, definición y uso
3. Clases y objetos, atributos y métodos
4. Herencia, métodos mágicos
5. Dataclasses
6. Colas, sistemas de comunicación
7. Networking; sockets y bytes.
III) Avanzado
En seis (6) clases se revisarán los siguientes temas y conceptos.
En este módulo nos enfocaremos en usar el lenguaje para desarrollar
soluciones estándar para diferentes tipos de problemas más usuales a
lo que un programador se podría enfrentar.
15. Trabajo con strings y expresiones regulares
16. Ciencia de datos (I): numpy
17. Ciencia de datos (II): pandas/polars
18. Creación de gráficos
19. Creación de REST Api con FastAPI
20. Modelos de bases de datos con ORM
21. Concurrencia con AsyncIO
22. Paralelismo, multiprocesos y threading
En lo posible cada tema se revisará en una clase y la programación (los días en que se hará la clase) se debe definir ya un mes antes de partir.
Precio base por clase, :
- 2000 o + :: miembros hackerspace u organización social
- 5000 o + :: externos.
La mitad del valor será destinada a apoyar la causa palestina.