-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathreadme.html
79 lines (75 loc) · 4.91 KB
/
readme.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>CS 4501: Cryptocurrency</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="markdown.css" />
<script>
function openTab(evt, tabName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(tabName).style.display = "block";
evt.currentTarget.className += " active";
}
function insertCopyLink(text) {
document.write("<span class=\"copylink copy_img\" onclick=\"navigator.clipboard.writeText('" + text.replace(/\"/g,"\\'") + "')\"></span>");
}
</script>
</head>
<body>
<h1 id="cs-4501-cryptocurrency">CS 4501: Cryptocurrency</h1>
<p>This repository contains the course material CS 4501: Cryptocurrency, which is being taught in the spring 2023 semester at the <a href="https://www.virginia.edu/">University of Virginia</a> by <a href="http://www.cs.virginia.edu/~asb2t/">Aaron Bloomfield</a>. This repository can be found online at <a href="http://aaronbloomfield.github.io/ccc">http://aaronbloomfield.github.io/ccc</a> and via its github repository at <a href="https://github.com/aaronbloomfield/ccc">https://github.com/aaronbloomfield/ccc</a>.</p>
<p>Students <em>currently</em> in the course should view the <a href="uva/index.html">uva/index.html</a> (<a href="uva/index.md">md</a>); current students may also want to view the <a href="uva/daily-announcements.html#/">daily announcements</a>.</p>
<p>The parts of this repository are:</p>
<ul>
<li><a href="slides/index.html">Lecture slides</a> (<a href="slides/index.md">md</a>), which use <a href="https://github.com/hakimel/reveal.js/">reveal.js</a>, an HTML presentation framework</li>
<li><a href="hws/index.html">Assignments</a> (<a href="hws/index.md">md</a>), both larger programming assignments and shorter tutorials or readings</li>
<li><a href="exams/index.html">Exams</a> (<a href="exams/index.md">md</a>) which contains the past exams given in this course</li>
<li><a href="docs/index.html">Documents</a> (<a href="docs/index.md">md</a>) holds various documents and references</li>
<li><a href="uva/index.html">UVA section</a> (<a href="uva/index.md">md</a>) which contains the materials that are specific to the current iteration of the course being taught at UVA</li>
</ul>
<h3 id="course-objectives">Course Objectives</h3>
<p>Students who complete the course will:</p>
<ul>
<li>Understand the theoretical aspects of cryptocurrency</li>
<li>Understand the basics of blockchain in general, and the details of a selected number of blockchains</li>
<li>Understand the uses of cryptocurrency and blockchain beyond that as a form of money</li>
<li>Understand the policy, ethical, legal, and tax implications of cryptocurrency</li>
<li>Be able to develop programs for a specific Blockchain</li>
<li>Implement a fully working modern cryptocurrency</li>
</ul>
<h3 id="license">License</h3>
<p>Source code: all of the source code created for this repository is released under a <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GPL 3.0</a> license. Some Solidity contract source code is included from <a href="https://github.com/OpenZeppelin/openzeppelin-contracts">OpenZeppelin contracts github repo</a>, which retains its original (MIT) license.</p>
<p>Non source code: All non-source material is released under a <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons license</a> (CC BY-SA). Note that there are some external images that are included in some of the slides, but are not hosted in this repository; their licenses are determined by their respective owners.</p>
</body>
</html>