Programa

Máster Blockchain y Big Data

Universidad Complutense de Madrid

Bloque Big Data

Módulo I: Programación con Python

Introducción a la programación con Python y conceptos básicos: variables, instrucciones básicas, tipos de datos básicos y operaciones. Entrada y salida. 

Módulo II: Fundamentos de Estadística

Diferenciación de Estadística Descriptiva e Inferencias estadísticas. Se describirán variables univariantes y bidimensionales, así como Variables aleatorias y modelos de distribución.

 

Módulo III: Programación con R

Fundamentos, estructuras de control y manejo de datos del lenguaje de programación R, muy útil en entornos como la minería de datos, estadística o matemáticas financieras.

 

Módulo IV: Minería de Datos y Modelización Predictiva

En este módulo de tratarán temas como la Integridad y depuración de datos, Regresión lineal, Regresión logística, Técnicas de reducción de la dimensionalidad, Análisis y predicción, etc.

Módulo V: Machine Learning e IA con Python y R

Se estudia la Introducción al Machine Learning y modelización predictiva avanzada, Redes neuronales y Deep Learning , Árboles de decisión , Random forest…

 

Módulo VI: Bases de Datos NoSQL

Cómo utilizar y modelar bases de datos NoSQL de almacenamiento estructurado. Diferentes modelos NoSQL, para qué sirven y cuándo utilizarlos. Instalación de modelos Mongo DB; el Find y sus funciones; proyección de campos en resultados; y operaciones CRUD.

 

Módulo VII: Bases de Datos SQL

Introducción a las bases de datos, el modelo entidad/relación en el diseño de las bases de datos, conceptos fundamentales del modelo Relacional, arquitectura de bases de datos…

Módulo VIII: Text Mining y Redes Sociales

Utilización de las principales Apis de acceso a datos en RRSS, análisis de textos y su tratamiento adecuado para un uso efectivo de estos factores. Realización de análisis de sentimiento en redes sociales y las distintas formas de representación de la información obtenida de este.

 

Módulo IX: Tecnologías de Big Data

Internet of Things as a Service, conectividad con fuentes de datos heterogéneas a través de borkers de mensajes y hubs con dispositivos, Spark, Hadoop y la visualización y análisis de información con Tableau

 

Módulo X: Deep Learning

Se lleva a cabo el proceso de Machine Learning usando una red neuronal artificial que se compone de un número de niveles jerárquicos. Este módulo del máster se separa en 4 bloques: Redes Neuronales, Redes Convolucionales, Redes Recurrentes y Autoencoders. Permite profundizar en la materia.

Módulo XI: Hadoop / Spark

El alumno podrá adquirir una visión panorámica de HDFS, su arquitectura y su utilización a través de línea de comandos. Es el sistema de almacenamiento fundamental en el mundo Big Data en la actualidad, por lo que es imprescindible que el alumno conozca y experimente su funcionamiento.

 

Bloque Blockchain

Z

Módulo I: Introducción y aspectos técnicos de Blockchain Y DLTs

Qué es Blockchain

  • Definición objetiva y formal
  • Propósito general
  • Origen y desarrollo, hasta hoy

Arquitectura de red

  • Descentralizada Vs. centralizada
  • Seguridad
  • Escalabilidad

Principales métodos criptográficos y de seguridad aplicados (fundamentos)

  • Función elíptica Weierstrass
  • Esquema de cifra Base58
  • Función hash RIPEMD-180
  • Función hash SHA-256

Registro y tratamiento de la información

  • Veracidad Vs. integridad de la información
  • Sellado de tiempo
  • Otros usos

Lenguajes en Bitcoin, Ethereum y otros derivados

  • Bitcoin script
  • Solidity
  • Bytecode

Smart Contracts

  • Propósito general
  • Funcionamiento a grandes rasgos
  • Casos de uso reales

Módulo II: Sistema GNU/Linux

Breve introducción al sistema operativo GNU/Linux

Acceso al sistema

  • Protocolo SSH
  • Protocolo SFTP

Manejo del sistema a través de la Shell o consola

  • Comandos básicos
  • Estructura inicial de directorios
  • Gestión de usuarios y permisos
  • Creación y edición de ficheros con “vi”
  • Gestión de procesos
  • Gestión de recursos
  • Ejecución de programas ShellScript
  • Entrada y salida standard de datos (StdIn/StdOut)
  • Instalación de paquetes

Módulo III: Docker

  • Qué es Docker
  • Concepto de virtualización
  • Creación de imágenes
  • Creación de contenedores
  • Recursos compartidos
  • Puertos, directorios, sockets, etc
  • Variables de entorno
  • Acceso a un contenedor
  • Conexión y visibilidad entre contenedores
  • Gestión de servicios con Docker-Compose
  • Crear un sistema WordPress completo con Docker-Compose
~

Módulo IV: Programación Blockchain y conectividad Big Data

  • Introducción a la programación Blockchain
  • Creación de APIs
  • Implementación de algoritmo Proof of Work
  • Inclusión de transacciones cifradas
  • Repaso técnico al funcionamiento de los diferentes algoritmos de consenso de redes públicas y permisionadas
  • Programación de blockchain con Python usando BigchainDB (MongoDB + Tendermint)
  • Obtención DataSets de datos directamente de la Blockchain a través de una API de alto rendimiento con Tornado y Pandas

Módulo V: Desarrollo de Aplicaciones en Ethereum

 

  • Introducción a Ethereum
  • Aspectos técnicos
  • Ecosistema y clientes
  • Despliegue de redes
  • Transacciones y contratos
  • Aplicaciones fundamentales
  • Desarrollo de contratos con Solidity
  • Elementos básicos de un contrato
  • Interacciones entre contratos
  • Tipos complejos de datos
  • Utilización de librerías
  • Patrones de diseño
  • Mecanismos de seguridad
  • Introducción a Quorum
  • Aspectos técnicos
  • Mecanismos de Consenso
  • Privacidad
  • Transacciones y contratos privados
  • Alastria y casos de uso
  • Desarrollo de aplicación web3

Módulo VI: Desarrollo de Aplicaciones en Hyperledger

  • Introducción a Hyperledger
  • Background e introducción
  • Blockchains Privadas (Permissioned Blockchain)
  • Casos de uso
  • Frameworks
  • Módulos
  • Arquitectura Hyperledger Fabric
  • Transacciones
  • Chaincodes
  • Canales
  • Consenso
  • Hands-on con Hyperledger
  • Hyperledger Composer
  • IBM Blockchain as a service
  • Despliegue de un entorno privado
  • Apificiación de servicios
  • Creación de esqueleto web en Angular

Desarrollo y Defensa de un proyecto Blockchain y Big Data

Un programa dividido en dos grandes bloques que se complementan perfectamente. Blockchain y Big Data unidos para mejorarse mutuamente.

***NTIC Master se reserva el derecho de modificar, suprimir y actualizar los programa del máster