Class at UW (University of Wyoming) for blockchain. Class time: 12:00 (noon) till 12:50 PM, Monday, Wednesday, Friday.
-
A little bit of background on the instructor
- pschlump@uwyo.edu
- (for emergencies between 7:00AM and 9:00PM) 720-209-7888 (cell)
- This is a "practical" class.
- Class Goal - have every student in this class be able to work effectively in the Blockchain/Ethereum world. There are students in this class that are from other departments. The class has been structured to take this into account.
-
Class policy - UW requires that I talk about cheating. stackoverflow.com and Google are your fiends - give credit where credit is due. warning: stackoverflow.com on ethereum/solidity is badly out of date becuse the technology is changing really fast. If you copy from the web - I expect a comment and a link (URL) to the source of where you got your copy.
-
Late Policy and (3) Late Coupons I have a grader - most of the grading will be automated. You get 3 late coupons - I will send them to you in email. You can use them for handing in homework 1 week after the due date. Late coupons will be tracked on a semi-private Ethereum Blockchian with a Smart Contract.
-
70% from homework, 40% from tests. Midterm and Final. There will be 2 projects for the class. You will have to give a live, in person, demo of both of your projects and you must get them to work. They are required to pass the class.
-
Class Points Total
Points available:
Points Class Item 1400 Homework total 800 2 tests To get a letter grade in the class:
Points Semester Grade 1900 or above A+ 1800 ... 1899 A 1600 ... 1799 B 1400 ... 1599 C 1200 ... 1399 D You must demonstrate working projects to the instructor to pass the class (no matter how many points you get). The 2 projects in the class will be directly from the homework. Project one is Homework Assignments 02 to 06. Project 2 is Homework Assignments 08 to 11. Homework will be 100 or 200 points each. Midterm will be 400 points. Final will be 400 points and cumulative. You can expect programming and writen assignments in this class.
For anybody that just wants to take on a hard project for extra credit see the instructor. It is hard. So think a letter grade for completion of an extra credit project. Code for extra credit projects will be open source under a MIT license. Also note that there are 2200 points available on a letter grading scale of 2000 points. You have a built-in 200 point extra credit in the homework and tests.
-
textbook: An Introduction to Programming in Go, pdf for free There are no good books on Ethereum/Soliddity. Solidity has moved from version 4.12 to 4.27 this year. All of the books are out of date. So.... I will include links in assignments that you are expected to read.
-
Class Overview
- What is Blockchain - what is Bitcoin / Ethereum / Other token systems
- Economics - Coin, ICO, Stocks Bonds, Tokens, Utility Tokens
- Legal Ramifications. ICOs 506(d), Subpart (s)
- Programming - 1/2 in go, 1/2 in Solidity (Etherem) and Web front end (JavaScript/HTML/CSS).
- Some Homework
- Write a Paper
- 2 tests (Midterm and Final)
- Why Go
- Enough Go to make it through this class (and be able to convincingly tell an employer that you have programmed in Go)
- Why Ethereum? Solidity?
- dApp - what is that? What is web3?
- A detailed understanding of the security model behind Blockchain
- Some advanced stuff on security - distributed computation and public/private keys, distributed key generation.
- Economics of Blockchain and Computer Technology - why this is important
- Overview of blockchain, bitcoin, EOS, ripple, lightning and Ethereum
- What is a Wallet
- What is a Smart Contact
- Into the Grunge - how to implement a blockchain
- Go
- More on Go
- Overview of Blocks / Transactions / Storage for our blockchain
- What is a blockchain?
- Stocks, Bonds, Futures, Forward Sales, Contracts
- ICO's and raising capital.
- Why ICO
- ERC 20 Contract
- How much money is out there?
This is a tentative schedule:
Assignment | Due Date | Points |
---|---|---|
AS-01 Learn Go | Sep 12 | 100 |
AS-02 Genisis Block | Sep 19 | 100 |
AS-03 Merkle Trees | Sep 26 | 200 |
AS-04 Transactions | Oct 10 | 100 |
AS-05 Hasing | Oct 17 | 100 |
AS-06 Mining | Oct 24 | 100 |
Paper Due | Oct 26 | 100 |
Midterm and Demo Proj 1. | Week of Oct 29 | 400 |
AS-07 Solidity & Truffle | Nov 7 | 100 |
AS-08 | Nov 14 | 100 |
AS-09 | Nov 20 | 100 |
AS-10 | Nov 28 | 100 |
AS-11 | Dec 7 | 200 |
Demo Proj 2 start Dec 5 | ||
ends Dec 14 | ||
Final | 400 |