forked from aaronbloomfield/ccc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.html
70 lines (67 loc) · 4.6 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
<!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;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
.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";
}
</script>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</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>