¿Qué quieres aprender?

Curso de Programación con Python

Curso de 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

Módulo I. Fundamentos de programación en Python

  • Tema 1. Introducción a Python

    • Tipos de datos básicos de Python

    • Variables en Python

    • Constantes en Python

  • Tema 2. Operadores en Python

    • Asignación

    • Aritméticos

    • Lógicos

  • Tema 3. Tipos de datos avanzados

    • Listas de Python

    • Tuplas en Python

    • Diccionarios en Python

    • Sets en Python

  • Tema 4. Entrada y salida

    • Entrada de datos por teclado

    • Salida de datos por pantalla

  • Tema 5. Control de flujo: estructuras de decisión y repetición

    • Condicionales en Python (if / else)

    • Bucles en Python (while / for)

  • 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 II. Programación orientada a objetos (POO)

  • Tema 1. Metodología basada en objetos

    • Programación estructurada frente a POO

  • Tema 2. Clases, objetos, atributos y métodos

    • Definición de clases, objetos, métodos y atributos

    • Definición de constructores

    • Los cuatro principios de la POO

  • Tema 3. Practicando con clases y objetos

  • Tema 4. Herencia

    • Definición de herencia

    • Usos e implementación

Módulo III. POO y métodos aplicados

  • Tema 1. Otras herramientas de POO

    • Herencia múltiple

    • Polimorfismo

  • Tema 2. Métodos aplicados

    • Métodos aplicados a las cadenas (strings)

    • Métodos aplicados a las listas

    • Métodos aplicados a los conjuntos

    • Métodos aplicados a los diccionarios

  • Tema 3. Errores y excepciones

    • Errores

    • Excepciones

  • Tema 4. Datos temporales

    • Fechas y horas

    • Zonas horarias y sus problemáticas

Módulo IV. Manipulación de datos

  • Tema 1. Archivos

    • Manejo de archivos en Python

  • Tema 2. Excel y CSV

    • Procesamiento de XLS y CSV

  • Tema 3. JSON

    • Conceptos de JSON

    • JSON frente a XML

    • JSON minificado y JSON View

    • JSON en Python

  • Tema 4. Bases de datos (BBDD)

    • Conceptos de bases de datos

    • Almacenamiento y lenguaje SQL

    • Ejemplos y uso de SQLite3

  • Tema 5. Librerías especializadas en el manejo de datos

    • NumPy

    • Pandas

    • Otras librerías especializadas

Módulo V. Practicando se aprende

  • Tema 1. Práctica 1: creación de una aplicación web con Flask y base de datos SQLite3

  • Tema 2. Práctica 2: creación de una aplicación de escritorio con Tkinter y base de datos SQLite3

Especialización en Machine Learning

Módulo I. Introducción al machine learning

  • Tema 1. Introducción al big data y machine learning

    • Método científico

    • Introducción al big data y machine learning

    • Repaso de álgebra lineal

  • Tema 2. Entorno de trabajo: máquinas virtuales

    • Creación de una máquina virtual local

  • Tema 3. Jupyter

  • Tema 4. Librerías numéricas de Python

    • NumPy

    • Pandas

    • Matplotlib

  • Tema 5. Introducción a Scikit-learn

Módulo II. Aprendizaje supervisado

  • Tema 1. Regresión lineal

    • Regresión simple y multivariable

    • Entrenamiento

  • Tema 2. Optimización por descenso de gradiente

    • Convergencia y ratio de aprendizaje

  • Tema 3. Normalización

    • Técnicas y problemas asociados

  • Tema 4. Regularización

    • Desviación, varianza y función de coste regularizada

  • Tema 5. Validación cruzada

    • Subdivisión del conjunto de datos

    • Bootstrapping y K-fold

  • Tema 6. Teorema de Bayes

  • Tema 7. Clasificación por árboles de decisión

    • Variables objetivo categóricas y continuas

    • Splitting, pruning y limitaciones del tamaño del árbol

  • Tema 8. Regresión logística y clasificación

    • Clasificación binaria y multiclase

    • Función sigmoidea y de coste

    • Transformación de la hipótesis

  • Tema 9. Clasificación por SVM (Support Vector Machines)

    • Modelado de datos, kernels y landmarks

    • Sensibilidad, especificidad y parámetro de regularización

  • Tema 10. Introducción a las redes neuronales

    • Neuronas naturales y artificiales

    • Redes neuronales profundas

Módulo III. Aprendizaje no supervisado

  • Tema 1. Detección de anomalías

    • Anomalías y selección de características

    • Distribución normal o gaussiana

  • Tema 2. Agrupación (clustering)

    • Diferencias entre agrupación y clasificación

    • Algoritmo K-means y otros enfoques

Módulo IV. Aprendizaje reforzado

  • Tema 1. Optimización por aleatoriedad

    • Entrenamiento múltiple e implementación

  • Tema 2. Sistemas de recomendación

    • Regresión lineal aplicada a recomendaciones

    • Funciones de coste, algoritmos de entrenamiento y predicciones

  • Tema 3. Algoritmos genéticos

    • Evolución natural y del comportamiento

    • Algoritmos aplicados a la optimización

Módulo V. Desarrollo de sistemas de aprendizaje automático

  • Tema 1. Ingeniería de características (feature engineering)

    • Creación y representación de variables

  • Tema 2. Análisis de componentes principales (PCA)

    • Modelos y reducción de dimensionalidad

  • Tema 3. Ensamblajes

    • Composición de modelos, bagging y técnicas de ensamblaje

  • Tema 4. Planteamiento de sistemas de machine learning

    • Diseño e implementación a gran escala

  • Tema 5. Evaluación y mejora de modelos

    • Sobreajuste frente a desviación

    • Métricas de evaluación y clasificación

  • Tema 6. Operaciones en machine learning (MLOps)

    • MLOps, plataforma Kaggle y paralelización

Especialización en Deep Learning

Módulo I. Introducción al aprendizaje automático

  • Tema 1. Fundamentos básicos

    • Proceso de aprendizaje, tipos de modelos y algoritmos

    • Información de entrada, salida y aprendizaje

  • Tema 2. Preparación de datos y herramientas

    • Google Colaboratory: creación y uso de notebooks

    • Introducción a Scikit-learn

    • TensorFlow: instalación, operaciones básicas, matrices y gradientes

Módulo II. Introducción al aprendizaje profundo

  • Tema 1. Redes de neuronas profundas

    • Conceptos básicos, estructura y funciones de activación

    • Optimización de hiperparámetros

  • Tema 2. Clasificación

    • Clasificación binaria, multiclase y multietiqueta

    • Transferencia de aprendizaje (transfer learning)

  • Tema 3. Regresión

    • Construcción de redes para regresión

    • Regresión lineal simple y múltiple

Módulo III. Aprendizaje profundo mediante imágenes y sonidos

  • Tema 1. Redes de neuronas convolucionales (CNN)

    • Visión artificial, filtros y preparación de datos

  • Tema 2. Redes de neuronas residuales (ResNet)

    • Bloques residuales y transfer learning con ResNet

  • Tema 3. Redes de neuronas recurrentes (RNN)

    • Procesamiento del lenguaje natural (NLP)

    • Redes RNN y LSTM (Long Short-Term Memory)

Módulo IV. Aplicaciones del aprendizaje profundo

  • Tema 1. Redes generativas antagónicas (GAN)

    • Generador, discriminador y funciones de pérdida

  • Tema 2. Redes de neuronas basadas en refuerzo

    • Deep reinforcement learning y redes de refuerzo profundo

    • Aplicaciones en videojuegos (AlphaGo, AlphaStar)

  • Tema 3. Otras aplicaciones

    • Despliegue de modelos en dispositivos (TFLite, TensorFlow.js)

    • TensorFlow Extended

Especialización en Inteligencia Artificial

Módulo I. Adentrándose en la IA

  • Tema 1. Introducción a la Inteligencia Artificial

    • Conceptos, historia, sectores y tecnologías de la IA

    • Comparativa: IA frente a ML y DL

    • El Test de Turing y la noción de máquina inteligente

  • Tema 2. La IA, las búsquedas y los juegos

    • Búsqueda informada y no informada

    • Aplicación de la IA en juegos

  • Tema 3. Ciencia y minería de datos

    • El proceso de la ciencia de datos y data mining

Módulo II. El aprendizaje y sus librerías

  • Tema 1. El proceso de la ciencia de datos

    • Conjuntos de entrenamiento, prueba y validación

    • Overfitting, underfitting y matrices de confusión

  • Tema 2. Librerías de análisis de datos y machine learning

    • Pandas y Scikit-learn

  • Tema 3. Librerías avanzadas de Inteligencia Artificial

    • TensorFlow, Keras (ejemplo con CIFAR-10)

    • SHAP e interpretación de modelos

    • spaCy y procesamiento del lenguaje natural (NLP)

Módulo III. La plataforma Kaggle

  • Tema 1. Qué es Kaggle y sus proyectos

  • Tema 2. Proyecto práctico

Especialización en Internet de las Cosas (IoT): Gestión de Dispositivos

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

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 (M2M, 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. Modelo de precios y soporte

  • Tema 4. Almacenamiento de datos en la nube (tipos de BBDD)

  • Tema 5. Integración entre IoT Hub y BBDD Cloud

Módulo IV. Seguridad y privacidad en IoT

  • Tema 1. Conceptos generales de seguridad

  • Tema 2. Modelos de seguridad

  • Tema 3. Privacidad en sistemas distribuidos

  • Tema 4. Aplicación práctica de cifrado simétrico y asimétrico

Casos prácticos

  • Caso 1. Introducción al uso del microcontrolador ESP8266

  • Caso 2. Uso de sensores y actuadores con el ESP8266

  • Caso 3. Uso de la conexión WiFi del ESP8266

  • Caso 4. Uso del protocolo MQTT con el ESP8266

  • Caso 5. Securización de comunicaciones MQTT

Ver más