Labs
Overview
Completed labs are generally due by midnight the following Wednesday. This deadline applies even if you miss the lab on Thursday, or have an excused absence or MO the following week.
The labs are organized into four groups as shown below: Scheme, parsing, SPL, and compiler. For each group of labs, you need to choose a different lab partner, who must also be different than your partner for the course project.
Collaboration with your lab partner is unlimited and encouraged, but collaboration between groups should be limited to informal discussions as discussed in the course policy. In particular, you should never share your code with someone in another group.
Labs
- Lab 1: Getting started: VMs, JSON, and Hashing
- Lab 2: Centralized chat-chain
- Lab 3: Caching blocks for a read-only node
- Lab 4: Updating to the longest path
- Lab 5: Proof of work
- Lab 6: Signing messages
- Lab 7: Transactions
- Lab 8: Presentation practice
- Lab 9: Project 1 work time
- Lab 10: Using smart contracts on Ethereum
- Lab 11: Project 1 presentations
- Lab 12: Project 2 work time
- Lab 13: More Project 2 work time