For any questions or concerns about the course, please contact Cameron Payton (cpayton@umd.edu) and/or Neil Johnson (njohn@umd.edu).
Fridays, 2:00-2:50 PM
CSIC 3118
This course provides a comprehensive, practical introduction to the technology behind cryptocurrency and the economy surrounding it. This course will have a heavy emphasis on Bitcoin, but will touch on other types of cryptocurrency as well. This course is primarily intended to focus on the technological aspect of cryptocurrency, but we will also spend time discussing the economics of cryptocurrency.
Required:
- Bitcoin Whitepaper by Satoshi Nakamoto
Recommended:
- Mastering Bitcoin (2nd Edition) by Andreas Antonopoulos
- History of Bitcoin
- Blockchain Structure
- Proof-of-Work
- Mining, Faucets
- Wallets & Anonymity
- Politics & Regulation
- Crypto Markets, Market Caps, Investors
- Bitcoin as a Platform
- Altcoins (focus on Ethereum)
- ICO (Initial Coin Offerings)
Grades will be maintained on the CS Department grades server.
You are responsible for all material discussed in lecture and posted on the class repository, including announcements, deadlines, policies, etc.
Your final course grade will be determined according to the following percentages:
Percentage | Title | Description |
---|---|---|
20% | Quizzes | We will regularly have quizzes in class based on readings from the previous week or in-class slides/lecture. |
30% | Codelabs | Codelabs will be centered around specific aspects of cryptocurrency technology that you will implement. |
20% | Midterm | The midterm will be in exam format on topics discussed during the first half of the semester. Questions will be mostly high-level and conceptual, rather than low-level. |
30% | Final | The final will also be in exam format and will cover topics discussed during the second half of the semester. It will not be cumulative. Like the midterm, it will also be high-level and conceptual. |
Any request for reconsideration of any grading on coursework must be submitted within one week of when it is returned. No requests will be considered afterwards.
Week | Topic | Assignment |
---|---|---|
1 (1/26) | Syllabus week + Intro to Bitcoin | |
2 (2/2) | Blockchain Structure | Quiz 1, Project 1 OUT |
3 (2/9) | Proof-of-Work and Mining | Quiz 2 |
4 (2/16) | Wallets and Transactions | Project 1 DUE |
5 (2/23) | Anonymity | Quiz 3, Project 2 OUT |
6 (3/2) | CLASS CANCELLED | |
7 (3/9) | Politics and Regulation | Quiz 4, Project 2 DUE |
8 (3/16) | MIDTERM | |
9 (3/23) | SPRING BREAK | |
10 (3/30) | Cryptocurrency Market and ICOs | Quiz 5 |
11 (4/6) | Altcoins (focus on Ethereum) and Proof-of-Stake | Quiz 6, Codelab 3 OUT |
12 (4/13) | Ethereum Contracts & Ethereum as a Platform | Quiz 7 |
13 (4/20) | Ethereum Contracts (cont'd) | Quiz 8, Codelab 3 DUE |
14 (4/27) | FINAL |
The projects are meant to get you familiar with the low-level implementation of the technology that goes into cryptocurrency. Projects will focus on simplified implementations of core concepts, such as the blockchain, wallets and transactions, and contracts. Although most of the Bitcoin core is written in C++, the projects will mostly be implemented in Java for simplicity.
We will interact with students outside of class in primarily two ways: in-person during office hours and piazza. Email should only be used for emergencies and not class related questions (e.g., homework).
Instructor:
Dr. Jonathan Katz - jkatz@cs.umd.edu
TA(s):
Cameron Payton - cpayton@umd.edu
- Office Hours: Tuesdays, 2:00 - 3:00 PM in Startup Shell (387 Technology Dr.)
Neil Johnson - njohn@umd.edu
- Office Hours: Tuesdays, 2:00 - 3:00 PM in Startup Shell (387 Technology Dr.)
See the section titled "Attendance, Absences, or Missed Assignments" available at Course Related Policies.
See the section titled "Accessibility" available at Course Related Policies.
Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.
It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.shc.umd.edu.
If you have a suggestion for improving this class, don't hesitate to tell the instructor or TAs during the semester. At the end of the semester, please don't forget to provide your feedback using the campus-wide CourseEvalUM system. Your comments will help make this class better.