CSCI 1951L: Blockchains and Cryptocurrencies
Jump to main contentWelcome to CSCI1951L!
This is the old course website from Spring 2022. Please go here to see the current offering of the course.
Introduction to modern blockchain-based systems. This timely course covers relevant topics such as consensus and distributed computing, example cryptocurrencies, programming smart contracts, privacy and secrecy, transfer networks, atomic swaps and transactions, non-currency applications of blockchains, and legal and social implications. Students will complete four partner programming projects, five homework assignments, one written assignment, and two labs.
Course Info
Assignments
Every project, homework, and lab should be turned in via Gradescope. Every assignment will be available by 11:59 pm ET on the day listed, and will be due at 11:59 pm ET on the due date listed. Written assignments should be submitted as PDFs. All assignment release and due dates are also available through the course calendar.
Assignment | Out | In |
---|---|---|
Homework 0: Course Setup | 1/25 | ASAP |
Lab 1: Introduction to Go | 1/26 | 2/06 |
Homework 1: Blockchains | 1/31 | 2/06 |
Homework 2: Bitcoin | 2/07 | 2/13 |
Project 1: Chain | 2/08 | 2/27 |
Project 2: Coin | 3/05 | 3/22 |
Homework 3: Ethereum & Solidity | 3/07 | 3/13 |
Lab 2: Introduction to Solidity | 3/21 | 4/24 |
Project 3: Lightning | 4/06 | 4/19 |
Project 4: Swap | 4/18 | 5/01 |
Homework 4: Cross-Chain, Wallets, Byzantine, & Privacy | 5/02 | 5/08 |
Written: White Paper | 5/02 | 5/15 |
Lectures
Lectures will take place Tuesdays and Thursdays from 1pm-2:20pm ET in Friedman Hall Rm. 108. Recordings will be available soon after lecture ends.
Zoom Meeting ID (for remote synchronous viewing): 975 5918 2039
Topic | Date | Slides | Recording |
---|---|---|---|
Course Introduction | 1/27 | Slides | Recording |
Bitcoin Introduction | 2/01 | Slides | Recording |
Bitcoin Mining and Attacks | 2/03 | Slides | Recording |
Bitcoin Data Structures | 2/08 | Slides | Recording |
Ethereum Virtual Machine | 2/10 | Slides | Recording |
Solidity | 2/15 | Slides | Recording |
Ethereum Data Structures | 2/17 | Slides | Recording |
Gas | 2/24 | Slides | Recording |
Solidity Pitfalls 1 | 3/01 | Slides | Recording |
Solidity Pitfalls 2 | 3/03 | Slides | Recording |
Solidity Pitfalls 3 | 3/08 | Slides | Recording |
Solidity Pitfalls 4 | 3/10 | Slides | Recording |
Ethereum Scalability | 3/15 | Slides | Recording |
Guest: Charles Hoskinson | 3/16 | - | Recording |
Off-Chain Payment Channels | 3/17 | Slides | Recording |
Concurrency in Solidity | 3/22 | Slides | Recording |
Privacy and Anonymity | 3/24 | Slides | Recording |
Privacy Coins | 4/05 | Slides | Recording |
Cross-Chain Commerce | 4/07 | Slides | Recording |
Cross-Chain Commerce 2 | 4/12 | Slides | Recording |
Wallets | 4/14 | Slides | Recording |
Automated Market Makers | 4/19 | Slides | Recording |
Byzantine Consensus | 4/22 | Slides | Recording |
Algorand | 4/26 | Slides | Recording |
Course Wrap-Up | 4/28 | Slides | Recording |
Course Staff
I like figuring out how to make things sync.
I'm from Chicago. My favorite book is Ender's Game, and my favorite dragon is Toothless.
Hello! I am a graduate student working on exciting blockchain research! My research area is cross-chain transactions.
Hey there! I'm from San Diego, and I love weightlifting, game development, and good Mexican food.
Hello! I'm a computer engineer from New Jersey, and I'm interested in blockchain technology, robotics, and space exploration.
Hi! I'm Brian an APMA-CS concentrator from Indonesia. Outside of school, I love playing tennis and going for runs. Excited to meet you all.
Hello! I’m from New Jersey and I’m concentrating in apma-cs. I really enjoy playing and watching sports, and am a huge Arsenal and Ravens fan!
Florida man that turned his professional gaming skills into a deep passion for CS. My main interests are basketball, music, teaching, and privacy.
I’m interested in CS and FinTech. I enjoy playing spikeball and making chai.
Hi, my name is Nick and I am from East Texas! Besides computer science, my main interests include music, photography, competitive videogames, and philosophy.