Cryptocurrency: UVA specific material, spring 2024

Go up to the main CCC readme (md)

Much of the rest of this repository is meant to be generic to anybody who has a class such as this one. This page contains details specific to the specific version of the course at the University of Virginia.


There are a number of links and other parts of this course that are NOT included in this repository. They are:

The parts of this course that are in this repo are:

Readings

All readings are due by the start of lecture that day. You should expect there to be in-class quizzes on each reading.

None assigned yet!

Homeworks

Reading assignments are due by the start of the lecture that day, and all other homeworks are due by the end of the day of the due date given – this means by 11:59:59 pm. The late policies are discussed in the homework policies page (md). Submission is through the Gradescope Canvas tool – all submissions should open up 2 days (i.e., 48 hours) prior to the due date/time. The larger (“P”) homeworks are due on Tuesdays by the end of the day; the smaller homeworks will have varying due days.

Larger Programming Homeworks

All of the programming homeworks are due by the end of the day (11:59:59 pm). To avoid having the due dates having to be listed in too many places, the homeworks and their due dates are not shown here. The homeworks themselves can be seen on the Homeworks page (md) – but please don’t start on one until it’s announced in class that it is ready! You can see the due dates in the daily announcements and the Canvas landing page.

Smaller Homeworks

Readings are due by the start of lecture on that day; all other homeworks are due by the end of the day (11:59:59 pm).

None assigned yet!

Course calendar

Week # Week of Monday Lecture days HWs due Expected Topics Actual Progress
1 Jan 15 W,F Course introduction, Overview introduction (finished); Wed: overview to 4.11; Fri: encryption to 6.13
2 Jan 22 M,W,F Overview, Encryption Mon: finished overview; Wed: encryption to 4.23; Fri: encryption to 6.?
3 Jan 29 M,W,F P1 (Introduction) Encryption Mon: encryption to 7.8; Wed: finished encryption; Fri: bitcoin to 5.9
4 Feb 5 M,W,F P2 (ECDSA) Bitcoin Mon: bitcoin to 6.10; Wed: bitcoin to 7.17; Fri: bitcoin to 7.39
5 Feb 12 M,W,F P3 (BTC parser) Bitcoin Mon: finished bitcoin; Wed: ethereum to 3.19; Fri: ethereum to 3.31
6 Feb 19 M,W,F P4 (BTC scripting) Ethereum, Solidity Mon: finished ethereum, mining to 3.15; Wed: mining to 5.18; Fri: mining to 7.7
7 Feb 26 M,W,F midterm, S4 (ETH Private) Solidity. midterm on Wed Mon: solidity to 4.10; Wed: midterm; Fri: solidity to 4.27
Mar 4 Spring break Spring break
8 Mar 11 M,W,F S5 (dApp intro) Solidity, Tokens Mon: solidity to 5.4; Wed: solidity to 6.6; Fri: finished solidity (Debts exercise)
9 Mar 18 M,W,F P5 (Gradebook) Tokens, Mining Mon: tokens to 4.9; Wed: tokens to 5.18; Fri: finished tokens
10 Mar 25 M,W,F P6 (Tokens) Mining, Blockchain applications Mon: finished mining, applications to 3.6; Wed: applications to 3.31; Fri: applications to 4.4
11 Apr 1 M,W,F P7 (Auction) Blockchain applications, Scalability Mon: finished applications, scalability to 3.8; Wed: scalability to 7.12; Fri: finished scalability, consensus to 4.12
12 Apr 8 M,W,F P8 (DEX) Scalability, Stablecoins Mon: consensus to 7.31; Wed: finished consensus; Fri: stablecoins to 6.7
13 Apr 15 M,W,F P9 (DAO&web3) Stablecoins, Consensus Mon: stablecoins to 9.8; Wed: finished stablecoins, ethics/legal/policy to 3.8; Fri: finished ethics/legal/policy, dark side to 4.4
14 Apr 22 M,W,F P10 (Arbitrage) Consensus, Ethics, Legality, and Policy, The Dark Side of Cryptocurrency Mon: darkside to 6.19; Wed: finished darkside, zksnarks to 4.13; Fri: no lecture progress (open office hours instead)
15 Apr 29 M P11 (Metamask) Course conclusion Fri: zksnarks to 5.9, finished conclusion

This course has received approval from the necessary parts of UVA: ITS, InfoSec, and the Office of the University Counsel. Specifically, the cryptocurrencies created in this course will be exchangeable with each other, but not with any cryptocurrency outside the course; thus they have no monetary value. Because they have no monetary value, and because the activities in this course are necessary to achieve the academic goals of the course, these various activities of this course, including mining, have been judged to be legal.