COMPLETO: Curso Blockchain, Ethereum y programación (Septiembre de 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
- Criptografía, Cypherpunks y el origen de la Blockchain ¿De dónde venimos? El Manifiesto Criptoanarquista
- 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
- 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
- Principios criptográficos, matemáticos y de arquitectura de una Blockchain
- Teoría de Juegos para novatos
- 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
- Aplicación sobre Blockchain
- Direcciones
- Transacciones
- Bloques
- Tipos de consenso y el problema de los Generales Bizantinos
- 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
- Diferencias clave entre Blockchains Bitcoin y Ethereum
- 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
- Objetivos
- Lógica
- Álgebra de Boole (muy básico)
- Verdadero y falso
- Operadores lógicos and, or, condicional y bicondicional.
- Sistema binario
- Representación binaria
- Operaciones binarias (muy básico)
- Conversión a octal, decimal y hexadecimal
- 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
- Variables y constantes
- Variables
- Constantes
- Utilización e impresión de variables y constantes
- Punteros
- Programación estructurada
- Secuencia
- Selección (condicional if)
- Iteración (for, while y do while)
- Estructuras anidadas
- 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
- Funciones y procedimientos
- Concepto de subprograma
- Paso de argumentos
- Recursividad
- Estructuras de control
- Switch y Case
- Comparación de cadenas
- Estructuras de datos (structs)
- 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
- Características de Solidity y Ethereum Virtual Machine
- Desplegar red privada de Ethereum
- Herramientas de Desarrollo para Ethereum
- Web IDE
- Introducción a los Smart Contracts
- Creación de Tokens
- Ejecución/debug de Solidity en Web IDE & Red Privada
- Implementaciones avanzadas:
- Patrones de implementaciones Solidity
- Mappings, Arrays y Estructuras
- Librerías, contratos e interacciones entre contratos
- Interactuando con el Blockchain/Smart Contracts desde nuestra DApp
- Web3
- Truffle
- Servicios Off-chain (Swarm/IPFS & Whisper)