¿Qué quieres aprender?

Programación con Python

Programación con Python

Tokio School

Curso online


2001-3000 €
¿Quieres hablar con un asesor sobre este curso?

Objetivos

Conocer la programación general y las bases de programación orientada a objetos. Utilizar la sintaxis del lenguaje Python para diseñar programas sencillos. Utilizar la gramática, estructura de datos, algoritmos, para una correcta organización del código. Trabajar con librerías estándar, externas y frameworks. Realizar conexiones con bases de datos. Manipular estructuras de datos y archivos. Trabajar en programación de sistema, en red. Implementar proyectos como programación web, desarrollo de juegos.

A quién va dirigido

A todos los interesados en desarrollarse en el mundo de la programación y el mundo digital

Requisitos

No es necesario cumplir con requisitos previos para realizar esta formación

Temario completo de este curso

Python
● Tipos de datos básicos de Python
● Variables en Python
● Constantes en Python
Tema 2: Operadores en Python
Tema 5: Control de flujo - Estructuras de decisión y estructuras de
repetición
Tema 4: Entrada y salida
Tema 3: Tipos de datos avanzados
● Asignación
● Condicionale en Python IF - ELSE
● Entrada de datos por teclado
● Listas de Python
● Aritméticos
● Bucles en Python WHILE / FOR
● Salida de datos por pantalla
● Tuplas en Python
● Lógicos
● Diccionarios en Python
● Sets en Python
Tema 6: Funciones
● Concepto de las Funciones en Python
● Implementación de las funciones
● Argumentos y parámetros
● Funciones integradas de Python
● Buenas prácticas con las funciones
Módulo III. Programación orientada a objetos (POO)
Tema 1: Metodología basada en objetos
Tema 2: Clases objetos, atributos y métodos
Tema 3: Practicando con clases y objetos
Tema 4: Herencia
● Programación estructurada VS POO (Programación Orientada a Objetos)
● Definición de clases, objetos, métodos y atributos
● Definición de constructores
● Definición de Herencia
● Usos
● Implementación
● Los 4 principios de la POO
Módulo IV. POO y métodos aplicados
Tema 1: Otras herramientas de POO
Tema 2: Métodos aplicados
Tema 3: Errores y excepciones
Tema 4: Datos temporales
● Herencia múltiple
● Métodos aplicados a los strings
● Métodos aplicados a las listas
● Métodos aplicados a los conjuntos
● Métodos aplicados a los diccionarios
● Errores
● Excepciones
● Fechas y Horas
● Problemas con las zonas horarias
● Usamos diferentes usos horarios
● Polimorfismo
Módulo V. Manipulación de datos
Tema 1: Archivos
● Manejo de archivos en Python
Plan de estudios
Tema 2: Excel - CSV
Tema 3: JSON
Tema 4: Base de datos (BBDD)
Tema 5: Librerías especializadas en el manejo de datos
● Excel: XLS
● ¿Qué es el JSON?
● ¿Qué es una base de datos?
● Numpy
● CSV
● JSON vs. XML
● Cómo almacena los datos una base de datos
● Pandas
● Componentes
● Lenguaje SQL
● Otras librerías
● Ejemplo práctico
● Ejemplos de bases de datos
● JSON Minificado y JSON View
● SQLite3
● JSON en Python
Módulo VI. Practicando se aprende
Tema 1: Práctica 1 - Creación de una app web con Flask y base de datos
SQLite3
Tema 2: Práctica 2 - Creación de una app de escritorio con Tkinter y
base de datos SQLite3
Módulo I. Introducción al Machine Learning
Tema 1: Introducciónj al Big Data y Machine Learning
Tema 2: Entorno de trabajo: VM
Tema 3: Jupyter
● Método científico
● Crear una máquina virtual local
● Introducción al Big Data
● Introducción al Machine Learning
● Breve repaso del álgebra lineal
Especialización en Machine Learning (PRPYTHML)
Tema 4: Librerías numéricas de Python
Tema 5: Introducción a Scikit-learn
● Numpy
● Pandas
● Matplotlib
Módulo II. Aprendizaje supervisado
Tema 1: Regresión lineal
Tema 2: Optimización por descenso de gradiente
Tema 3: Normalización
Tema 4: Regularización
● Simple
● Convergencia
● Problema
● Desviación y varianza
● Multivariable
● Ratio de aprendizaje
● Normalización
● Función de coste regularizada
● Entrenamiento
Tema 5: Validación cruzada
Tema 6: Teorema de Bayes
Tema 7: Clasificación por árboles de decisión
Tema 8: Regresión logística/clasificación
Tema 9: Clasificación por SVM (Support Vector Machines)
● Métodos de resolución
● Ejemplo de clasificación
● Variables objertivo categóricas y continuas
● Modelado de dato
● Kernels y Landmarks
● Subdivisión del set de datos
● Sensibilidad y especificidad
● Splitting
● Clasificación binaria y multiclase
● Limitaciones al tamaño del árbol
● Función sigmodea
● Pruning
● Función de coste
● Bootstrapping
● K-fold
● Transformación de la hipótesis
● Tipos de kernels
● Parámetro de regularización
Tema 10: Introducción a las redes neuronales
● Neuronas naturales
● Neuronas artificiales
● Redes neuronales profundas
Módulo III. Aprendizaje no supervisado
Módulo IV. Aprendizaje reforzado
Tema 1: Optimización por aleatoriedad
Tema 1: Detección de anomalías
Tema 2: Agrupación
● Entrenamiento múltiple
● Anomalías
● Diferencias entre agrupación y clasificación
● Implementación
● Representación de modelo
● K-means y otros algoritmos
● Elección de características
● Distribución normal o gaussiana
Tema 2: Sistemas de recomendación
Tema 3: Algoritmos genéricos
● Sistemas de recomendación por regresión lineal
● Evolución natural
● Función de coste
● Evolución del comportamiento
● Algoritmos de entrenamiento
● Algoritmos aplicados a la optimización
● Realización de predicciones
Módulo V. Desarrollo de sistemas de aprendizaje
automático
Tema 1: Ingeniería de características (“feature engineering”)
Tema 2: Análisis de Componentes Principales (“PCA”)
● Creación de características
● Representación de variables
● Problemas y soluciones
● Modelos de dimensionalidad
● Reducción de dimensionalidad
Plan de estudios
Tema 3: Ensamblajes
Tema 4: Planteamiento de sistemas de ML
Tema 5: Evaluación y mejora de modelos
Tema 6: Operaciones en ML
● Composición de modelos
● Planteamiento de un sistema de ML
● Sobreajuste vs. desviación
● MLOps
● Técnicas de ensamblaje
● Evaluación del modelo
● Métricas de evaluación
● Plataforma Kaggle
● Bagging
● Implementación a gran escala
● Métricas de clasificación
● Paralelización
Módulo I. Introducción al Aprendizaje automático
Tema 1: Fundamentos básicos
Tema 2: Preparación de datos y herramientas
● Fundamentos básicos de Machine Learning
● Conjunto de información y operación
● Fundamentos básicos de Deep Learning
● Herrameintas básicas para el desarrollo de modelos
● Introducción a Collaborate
● Introducción a Scikit Learn
Especialización en Deep Learning (PRPYTHDL)
• Proceso de aprendizaje
• Tipos de modelo
• Tipos de algoritmo
• Tipos de modos de aprendizaje
• Herramientas de desarrollo
• Herramientas de manipulación
• Herramientas de evaluación
• Herramientas de despliegue y ejecución
• Google Collaboratory
• Creación de un notebook con Colab
• Creación de un fragmento de código
• Modificación del tipo de hardware
• Carga de datos
• Creación de un modelo
• Evaluación del modelo
• Visualización del modelo
● Información de entrada
● Información de salida
● TensorFlow
● Información de aprendizaje
• Conceptos básicos sobre datos
• Preparación de datos
• Función de pérdida (Loss)
• Ajuste del modelo
• Instalación
• Utilización de dispositivos
• Operaciones básicas
• Cálculo de gradientes
• Funciones
• Operaciones Matriciales
• Clasificación Binaria
• Algoritmos de optimización
Módulo II: Introducción al aprendizaje profundo
Tema 1: Redes de neuronas profundas
Tema 2: Clasificación
● Conceptos básicos sobre redes de neuronas
● Conceptos básicos de clasificación
● Estructura de la red y funciones de activación
● Construyendo sistemas de clasificación
• Clasificación multi-clase
• Clasificación multi-etiqueta
● Optimización de hiper-parámetros
● Transferencia de aprendizaje (Transfer learning)
Tema 3: Regresión
● Conceptos básicos sobre regresión
● Construcción de redes de neuronas (Funciones de activación y Funciones de loss)
● Regresión lineal simple
● Regresión lineal múltiple
Módulo III: Aprendizaje profundo mediante imágenes y
sonidos
Tema 1: Redes de neuronas convolucionales (CNN)
Tema 2: Redes de neuronas residuales (ResNet)
● Conceptos básicos sobre visión artificial (Imágenes, filtros, etc)
● Importación de las librerías
● Redes de neuronas convolucionales (CNN)
● Definiciones de bloques residuales
● Preparación de datos
● Transferencia de aprendizaje sobre ResNet
● Creación y compilación de la red
Tema 3: Redes de neuronas recurrentes (RNN)
● Conceptos básicos sobre NLP
● Redes de neuronas recurrentes (RNN)
● Long-Short Term Memory (LSTM)
● Otros tipos de redes de neuronas
Módulo IV: Aplicaciones del aprendizaje profundo
Tema 1: Redes generativas antagónicas (GANs)
Tema 2: Redes de neuronas basadas en refuerzo
Tema 3: Otras aplicaciones
● Conceptos básicos sobre Redes generativas antagónicos
● Conceptos básicos sobre Aprendizaje por Refuerzo
● Despliegue de modelos
● Generador y discriminador
● Deep Reinforcement Learning
● Despliegue de modelos en dispositivos (TFLite and TensorFlow.js)
● Funciones de loss en redes GAN
● Redes de refuerzo profundo
● TensorFlow Extended
● Aplicaciones de Deep Learning
● Deep Learning en videojuegos (AlphaGo y AlphaStar)
● Redes GAN
Módulo I. Adentrándose en la IA
Tema 1: Introducción a la Inteligencia Artificial
Tema 2: La IA, las búsquedas y los juegos
Tema 3: Ciencia y minería de datos
● ¿Qué es la IA?
● Búsqueda no informada e informada
● Ciencia de datos
● Ejemplos de la IA que usamos a diario
● ¿Cómo sabemos que una máquina es inteligente?
● La IA y los juegos
● El proceso de la Ciencia de Dat
● Minería de Datos (Data Mining)
● ¿Alguien ha probado el Test de Turing?
● Historia de la IA
● Revoluciones
● Sectores de la IA
● Categorías de la IA
● Tecnologías de la IA
● IA vs ML vs DL
Especialización en Inteligencia Artificial (PRPYTH)
● El razonamiento
● Librerías de análisis de datos: Pandas
● TensorFlow y Keras. Ejemplo con CIFAR-10 (clasificación de imágenes)
● El aprendizaje
● Librerías de aprendizaje automático: Scikit-learn
● SHAP
● spaCy: Procesamiento de lenguaje natural (NLP)
• El aprendizaje automático (Machine Learning)
• Conjuntos de entrenamiento, test y validación
• Paradigmas de aprendizaje
• Overfitting (sobreajuste) y underfitting (subajuste)
• El aprendizaje y la clasificación
• Evaluar el rendimiento. Matriz de confusión
• Algoritmos de clasificación
• Pongamos en práctica todo lo anterior
• Redes neuronales y Deep Learning
Módulo II. El aprendizaje y sus librerías
Tema 1: El proceso de la ciencia de datos
Tema 2: Librerías de análisis de datos y Machine Learning
Tema 3: Librerías avanzadas de Inteligencia Artificial
● ¿Qué es Kaggle?
● Estructura de Kaggle
● Kaggle. Algunos de sus proyectos
Módulo III. La plataforma Kaggle
Tema 1: Qué es Kaggle y algunos de sus proyectos
Tema 2: Proyecto
Módulo I. Introducción a IoT
Tema 1: Conceptos generales de IoT
Tema 2: Arquitectura típica de una solución IoT
Tema 3: Conceptos básicos de redes de sensores y actuadores
Tema 4: Sensores y actuadores comunes
Tema 5: Ejemplos de aplicaciones
Especialización en Internet de las Cosas (IoT): Gestión de
Dispositivos
Módulo II. Redes de Comunicaciones para IoT
Tema 1: Comunicación alámbrica e inalámbrica
Tema 2: Redes inalámbricas de bajo consumo
Tema 3: Criterios de selección de tecnologías de comunicación
Tema 4: Protocolos de comunicaciones IoT:
● Comunicación Machine2Machine (M2M)
● Tipos de protocolos
● MQTT
Módulo III. Conceptos Generales de Computación en la
Nube
Tema 1: Servicios principales disponibles en una plataforma cloud
Tema 2: Relación entre servicios
Tema 3: Pricing y modelos de soporte
Tema 4: Almacenamiento de datos en la nube: tipos de bases de datos
Tema 5: Integración HUB IoT y BD Cloud
Módulo IV. Seguridad y Privacidad en IoT
Tema 1: Conceptos generales
Tema 2: Modelos de seguridad
Tema 3: Privacidad en sistemas distribuidos
Tema 4: Aplicación práctica de técnicas de cifrado simétrico y
asimétrico
Casos de Uso
Caso práctico 1: Introducción al uso del ESP8266
Caso práctico 2: Uso de sensores y actuadores con el ESP8266
Caso práctico 4: Uso de MQTT con el ESP8266
Caso práctico 3: Uso de la conexión WiFi del ESP8266
Caso práctico 5: Securización de MQTT

Ver más