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:
- Any concerns you have should be handled via a support request; the link is on the Canvas landing page
- Assignment submission is through the Gradescope tool in Canvas
- The Piazza forum for this course; Canvas can log you in directly -- the Canvas tool link is here
- The link for the VirtualBox image will be available on the Canvas landing page. For how to install it, see here.
- Apparently anonymous feedback is not currently available in Canvas
The parts of this course that are in this repo are:
- Course syllabus (md)
- Daily announcements
- Homework policies page (md)
- Final course grade determination (md)
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!
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.
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.
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!
Week # | Week of Monday | Lecture days | HWs due | Expected Topics | Actual Progress |
---|---|---|---|---|---|
1 | Aug 21 | W,F | Course introduction, Overview | Wed: finished intro; Fri: overview to 5.2 | |
2 | Aug 28 | M,W,F | Encryption | Mon: finished overview; Wed: encryption to 4.7 | |
3 | Sep 4 | M,W,F | P1 (Introduction) | Encryption | |
4 | Sep 11 | M,W,F | P2 (ECDSA) | Bitcoin | |
5 | Sep 18 | M,W,F | P3 (BTC parser) | Bitcoin | |
6 | Sep 25 | M,W,F | P4 (BTC scripting) | Ethereum | |
7 | Oct 2 | W,F | S4 (ETH Private) | Solidity | |
8 | Oct 9 | M,W,F | midterm | Tokens | |
9 | Oct 16 | M,W,F | S5 (dApp intro) | Mining | |
10 | Oct 23 | M,W,F | P5 (Gradebook) | Blockchain applications | |
11 | Oct 30 | M,W,F | P6 (Tokens) | Scalability | |
12 | Nov 6 | M,W,F | P7 (Auction) | Stablecoins | |
13 | Nov 13 | M,W,F | P8 (DEX) | Consensus | |
14 | Nov 20 | M | P9 (DAO&web3) | zkSNARKs | |
15 | Nov 27 | M,W,F | P10 (Arbitrage) | Ethics, Legality, and Policy, The Dark Side of Cryptocurrency | |
16 | Dec 4 | M | P11 (Metamask) | Course 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.