
PYTHON AVANZADO | Ciencia de Datos | Especialización
SKU: E-PYTHON-A
Porcentaje de Subsidio TAE: 80%
Fecha de Inicio del Curso: 19 de junio del 2023
Fecha de Finalización del Curso: 24 de agosto del 2023
Capacitador: Universidad Marista de Guadalajara
Duración: 60 hrs/20 sesionesModalidad: virtual
Días de Sesiones: lunes y jueves
Horario: 18:00 a 21:00 hrs
En este curso aprenderás:
- Introducir a los asistentes en la programación declarativa y estructurada de Python.
- Desarrollar los conocimientos necesarios acerca de la implementación y su aplicación práctica.
- Instruirles en el lenguaje de programación Python en proyectos reales, la preparación y tareas relacionadas necesarias y el diseño de sistemas completos de ML en producción utilizando Scikit-learn y otras paqueterías comunes, así como su implementación algorítmica con Python.
Prerrequisitos:
- Conocimiento en programación estructurada.
- Manejo de python Básico.
Temario:
1. Introducción a Python
- Tipos y Estructuras de Datos Básicas
- Estructuras de control, comparaciones, condicionales y bucles
- Funciones
- Acceso a Ficheros
- DocStrings
- Virtual Environments
- Análisis de Rendimiento
- Estructuras de datos avanzadas, Built-In, mapas, HashTables, Arrays, Lists, Sets, Stacks, Queues, Heaps, Trees, Graphs
- Algoritmos, Divide & Conquer, Recursion, Backtracking, Tree Traversal, Sorting, Searching, A*, Analysis, Big O
- Programación Orientada a Objetos, Clases, Instancias, Métodos, Herencia, Polimorfismo, Overloading, métodos Estáticos, de Clase, Decoradores, Metaclases, Serialización
- Ingeniería de Software, Arquitectura, Clean Code, Craftmanship, Patrones de diseño (creacionales, estructurales, de comportamiento)
- Testing, Test Design Development, Testing Unitario, Testing Funcional, Fixtures, PyTest, Dobles
- Gestión de proyectos, agile, scrum, eXtreme programming
2. Programación Avanzada
- Programación funcional, funciones puras, estructuras de datos inmutables, lazy evaluation, recursión
- Módulos, paquetes, namespaces, uso del sistema (Paths, Shell, Variables de entorno, Sys, Os)
- Control de errores y excepciones
- Expresiones regulares
- Concurrencia, programación asincrona, corutinas, hilos, sincronización, bloqueos, intercomunicación, datos compartidos, Pools, Executors, paralelismo de procesos
- Programación distribuida, cliente/servidor, multinivel, aplicaciones distribuidas (Celery), objetos remotos (Pyro4), Cloud Computing (PythonAnywhere), Serverless Computing, Heterogeneous Computing (Cuda, OpenCL)
- Interfaces de usuario, Widgets, Comandos, Callbacks, tkinter, Qt
- Desarrollo de videojuegos, PyGame
- Redes e Internet, Sockets, Clients, Servers, HTTP, Email, FTP, WebServer, Web Scraping
- Programación web en Backend, Django, Heroku
- Programación web en Frontend, JavaScript, DOM+HTML+CSS, React
- Interop con C, C++ y Java
- Automatización de tareas, redimensionamiento/conversión de imágenes, Selenium, automatización de GUI (PyAutoGUI)
3. Bases de Datos
- Almacenamiento de datos, persistencia, sistemas de ficheros, cache
- Bases de datos relacionales, modelo entidad relación, diseño
- SQL y Python, SQLite, SQL DDL, SQL DML, Acceso a Datos desde Python (PySQLite), Object Relational Mapping (SQLAlchemy)
- Bases de datos NoSQL, MongoDB, PyMongo
- Bases de datos distribuidas, Cassandra, CQL, clusters
- Migración, conversión e integración de datos
- Warehousing de datos, OLAP, cubos
- Big Data, Hadoop y HDFS
4. Ciencia de Datos e Inteligencia Artificial
- Análisis de datos, extracción, preparación, exploración y visualización de datos, modelado predictivo (Clasificación, Regresión, Clustering), validación del modelo, análisis cuantitativo y cualitativo
- NumPy, NdArray, operaciones, funciones matemáticas, estadística descriptiva, algebra lineal, Filtros, agregación, broadcasting, vectorización, números aleatorios, ficheros
- Pandas, series, DataFrames, index, operaciones, indexing, slicing, búsquedas, ordenación, ranking, mapping, estadística descriptiva, agregación, pivot, correlaciones, covarianzas, ficheros
- Visualización de datos, matplotlib, dataFrame graphics, seaborn, relaciones de variables, distribuciones, correlaciones
- Ciencia de datos, Join, Merge, tratamiento de strings, transformación de datos, Calidad de datos, limpieza, duplicados, discretización
- Machine Learning, Scikit Learn, aprendizaje supervisado/no supervisado, Conjuntos de entrenamiento/Tests, PCA, clasificación, K-Nearest, SVM, regresión lineal, modelos lineales
- Deep Learning, redes neuronales, computación paralela en la GPU, TensorFlow, Capa Simple, capa multiple
- Reconocimiento de escritura OCR, de texto (NLTK), de Imágenes (OpenCV)
Requisitos para subsidio TAE/COECYTJAL (a entregar en liga de registro):
- Identificación oficial vigente (INE, Pasaporte)
- CURP
- Carta compromiso
- Carta agradecimiento