Applied Blockchain - Arch & Engr Software Systems

Tu/Th, 02:30-04:00, Rm 1-390, John R Williams, Abel Sanchez

Software architecting and design of software-intensive systems. Targeted at future CTOs who must understand both the business and technical issues involved in architecting global-scale systems. Introduces blockchain systems, consensus, scalability, governance, and the Ethereum platform. Presents modern tools and libraries for distributed computing, basic cryptography, including hashing, PKI, encryption and distributed apps. Use of cloud service APIs, containers, testing and synchronization techniques. Data cleaning and filtering, linear regression, basic machine learning algorithms such as clustering, classifiers, decision trees. Students learn problem solving in an active learning lab setting, completing in-class exercises and weekly assignments leading to a group project in blockchain. By the end of the class, students will be able to build practical blockchain applications and understand the limitations and opportunities of the technology.


Class Information & Logistics
Homework 01
Lecture 01 - Introduction
Editor Setup and Configuration

Software Dev. Setup

Lecture 04 - JavaScript and Data Analytics
Homework 03 - Due Friday 10/05 midnight
Lecture 09 - Cloud Services
Homework 04 - Due Friday 10/12 midnight
Homework 05 - Due Friday 10/19 midnight
Reference Material

Beginners Guide to raising money via Initial Coin Offerings
Tokens Generation on the Blockchain
Token Sale Models, Vitalik Buterin
Tokens and US securities law aspects
The Simple Agreement for Future Tokens
A Security Law Framework for Blockchain Tokens
The Howey Test


Write a white paper for an ICO you create - 3 pages max.

- Description of the market and the problem
- Description of the product and how it’s going to solve said problem
- Tokens: how many, why, how, when, and so on
- How the raised funds are going to be used
- The team
- The roadmap

Submit link
Lecture 12 - Smart Contracts & Cryptocurrencies
Project Deliverable 0(Class Presentation #1)
Video Production
Project Deliverable 1 (Video #1)
Project Deliverable 2 (Class Presentation #2)
Project Deliverable 3 (Video #2)
Project Deliverable 4 (Final code)