COMPLETO: Curso Blockchain, Ethereum y programación (Septiembre de 2017)

Blockchain España sept 2017
julio 28, 2017septiembre 26, 2017

Curso Blockchain y Ethereum de la escuela Blockchain España
(Septiembre de 2017)
La Revolución Industrial de Internet CURSO COMPLETO YA NO PODEMOS RECIBIR MÁS ALUMNOS. POR FAVOR ESCRIBIRNOS PARA LA SIGUIENTE EDICIÓN DE OCTUBRE

Ya se ha abierto la inscripción para la segunda edición de la escuela Blockchain España para la promoción de septiembre de 2017. Después del éxito de la primera edición hemos hecho cambios al programa con ayuda de los alumnos de la primera promoción. El cambio más importante es la introducción de un cuarto Módulo (el Módulo 3) que transmite los fundamentos de la programación para no programadores (o con nociones muy básicas) para acceder al Módulo 4 de programación en Solidity de Ethereum.

Duración de los 4 módulos: 45 horas

Programa con fechas
Módulo 1: Introducción a la tecnología Blockchain, Bitcoin & Ethereum (10 horas)
Sábado 16 de septiembre (09:00 a 19:00)
Profesores: Alex Preukschat y Sandra Becker

Módulo 2: Introducción técnica a Blockchain (10 horas)
Viernes 22 de septiembre (17:00 a 22:00) y 23 (9:00 a 14:00) de julio
Profesor: Jaime Núñez Miller y Carlos Vivas Augier

Módulo 3: Fundamentos de programación para no programadores (15 horas)
Viernes 29 de septiembre (17:00 a 22:00) y 30 (9:00 a 19:00) de septiembre
Profesor: Javier Domínguez Gómez

Módulo 4: El lenguaje de Programación Solidity para Ethereum (10 horas)
Viernes 6 de octubre (17:00 a 22:00) y 7 (9:00 a 14:00)
Profesor: Florentino Sainz Manteca

Ubicación: ImpactHub Madrid (Atocha)

Inscripción: Escribiendo al email blockchainespana@gmail.com con el asunto "Curso 2".

Módulo 1: Introducción a la tecnología Blockchain, Bitcoin & Ethereum.

Duración: 10 horas

Ubicación: ImpactHub

Perfil alumno: de iniciación y accesible a todo el mundo

Material: tener instalado Telegram en el móvil

  1. Criptografía, Cypherpunks y el origen de la Blockchain ¿De dónde venimos? El Manifiesto Criptoanarquista
  2. La historia del dinero
    • ¿Qué es Bitcoin?
    • ¿Por qué Bitcoin?
    • ¿Cómo funciona Bitcoin? - Clave publico & privado, firma digital
    • ¿Cómo funciona Bitcoin? - La cadena de bloques
    • ¿Cómo funciona Bitcoin? - Minería & algoritmos de consenso
  3. Ethereum - El ordenador universal
    • ¿Qué es Ethereum?
    • Smart Contract
      • Smart Properties
      • DAPPs (redes sociales, mercados de predicción, arte, identidad, etc.)
      • DAOs (The DAO, criptoeconomía)
      • Modelos de negocio descentralizados

Módulo 2: Introducción técnica a Blockchain

Duración: 10 horas

Ubicación: ImpactHub

Perfil alumno: de iniciación y accesible a todo el mundo, pero recomendable haber hecho el Módulo 1

Material: tener instalado Telegram en el móvil

  1. Principios criptográficos, matemáticos y de arquitectura de una Blockchain
  2. Teoría de Juegos para novatos
  3. Conceptos de Seguridad y Criptografía
    • Funciones Hash Criptográficas
    • Criptografía de Clave Pública y Firmas Criptográficas
    • La Criptografía de Curva Elíptica para el absoluto novato
  4. Aplicación sobre Blockchain
    • Direcciones
    • Transacciones
    • Bloques
  5. Tipos de consenso y el problema de los Generales Bizantinos
  6. Distribuido y Descentralizado
    • ¿Cómo funcionan las Cadenas de Bloques
    • ¿Cómo se aplica la minería y qué función tiene?
    • Aproximación a los diferentes tipos de Minería
      • Algoritmos Básicos
      • Tipos de Consenso para la minería
  7. Diferencias clave entre Blockchains Bitcoin y Ethereum
  8. Tipos de Blockchain
    • Permissioned
    • Permissionless
    • Ventajas y Desventajas

Módulo 3: Fundamentos de programación para no programadores

Perfil alumno: De iniciación y accesible a todo el mundo.

Duración:  15 horas

Ubicación: ImpactHub

Max Alumnos: de 10 a 15 personas

Material imprescindible: Portátil (GNU/Linux, Mac o Windows) + tener instalado Telegram

  1. Objetivos
  2. Lógica
    • Álgebra de Boole (muy básico)
    • Verdadero y falso
    • Operadores lógicos and, or, condicional y bicondicional.
  3. Sistema binario
    • Representación binaria
    • Operaciones binarias (muy básico)
    • Conversión a octal, decimal y hexadecimal
  4. Lenguajes de programación
    • Lenguajes de bajo nivel
    • Lenguajes de medio nivel
    • Lenguajes de alto nivel
    • Elementos básicos en un lenguaje de programación
    • Valores y tipos
    • Expresiones aritméticas
    • Estructura de un programa
  5. Variables y constantes
    • Variables
    • Constantes
    • Utilización e impresión de variables y constantes
  6. Punteros
  7. Programación estructurada
    • Secuencia
    • Selección (condicional if)
    • Iteración (for, while y do while)
    • Estructuras anidadas
  8. Desarrollo de un programa de ejemplo
    • Hola mundo
    • Suma de números enteros
    • Cálculo del área de un cilindro y área de un triángulo
  9. Funciones y procedimientos
    • Concepto de subprograma
    • Paso de argumentos
    • Recursividad
  10. Estructuras de control
    • Switch y Case
    • Comparación de cadenas
  11. Estructuras de datos (structs)
  12. Trabajando con ficheros
    • Abrir un fichero
    • Escribir dentro de un fichero
    • Lectura de un fichero

Módulo 4: El lenguaje de Programación Solidity para Ethereum

Duración: 10 horas

Ubicación: ImpactHub

Max Alumnos: máximo de 12 personas

Perfil alumno: Necesario haber hecho el Módulo 2 y 3

  1. Características de Solidity y Ethereum Virtual Machine
  2. Desplegar red privada de Ethereum
  3. Herramientas de Desarrollo para Ethereum
    • Web IDE
  4. Introducción a los Smart Contracts
    • Creación de Tokens
    • Ejecución/debug de Solidity en Web IDE & Red Privada
  5. Implementaciones avanzadas:
    • Patrones de implementaciones Solidity
    • Mappings, Arrays y Estructuras
    • Librerías, contratos e interacciones entre contratos
  6. Interactuando con el Blockchain/Smart Contracts desde nuestra DApp
    • Web3
    • Truffle
    • Servicios Off-chain (Swarm/IPFS & Whisper)