This course covers the fundamentals of blockchain technology, focusing on, but not exclusively dealing with, Bitcoin. From a foundational perspective, this will include the basic data structures, such as hash pointers and Merkle trees, and techniques used in blockchains such as cryptographic hashing and public-key cryptography. It will also cover how Bitcoin and other blockchain networks can forge a distributed consensus and deal with malicious actors without a central intermediary (the Byzantine Generals Problem). Drawbacks and limitations to Bitcoin, as well as similar networks and their possible ameliorations to these problems, will be discussed. The course will also cover societal and economic impacts, both potential and current, that the technology may have. PREREQUISITES: Required- CS/COE 1501, Recommended- CS 1653
Taught by: Bill Laboon (laboon at cs dot pitt dot edu)
Instructor's Office Hours:
- SENSQ 6305
- Wednesday 1:00 PM - 2:30 PM and Friday 9:00 AM - 10:30 AM
- ... or by appointment
Class Time:
Tue / Thu 9:30 AM - 10:45 AM
Room:
IS 403
TA:
Raymond Zhang, GitHub username: chzGrd
Class GitHub repo:
https://www.github.com/laboon/CS1699_Fall2018
Required Text:
- Bitcoin and Cryptocurrency Technologies, by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, and Steven Goldfeder. Princeton University Press, 2016. ISBN-10: 0691171696 / ISBN-13: 978-0691171692
- Projects (3) - 60%
- Project 1 - 20%
- Project 2 - 20%
- Project 3 - 20%
- Midterms (3): 30%
- Midterm 1 - 10%
- Midterm 2 - 10%
- Midterm 3 - 10%
- Blockchain Impact Paper and Discussion - 10%
Although lecture attendance is not mandatory (except for the in-class discussion day), it is strongly recommended that you come to class each for each lecture. Material may be presented or covered in class that is not in the reading. The world of cryptocurrency is rapidly changing and no book published in 2016 will have been able to predict the future!
The syllabus is subject to modification if circumstances dictate (e.g. a guest lecturer is unable to make the scheduled day).
The following grading scale will be used.
Score | Grade |
---|---|
100.00-93.00 | A (A+ for extraordinary work) |
92.99-90.00 | A- |
89.99-87.00 | B+ |
86.99-83.00 | B |
82.99-80.00 | B- |
79.99-77.00 | C+ |
76.99-73.00 | C |
72.99-70.00 | C- |
69.99-67.00 | D+ |
66.99-63.00 | D |
62.99-60.00 | D- |
59.99-0.00 | F |
All groups are expected to do their own work on group projects, and individuals are expected to do their own work on individual projects. Projects may be analyzed with the Stanford moss system to detect unauthorized collaboration between groups.
It is recommended you keep all of your graded assignments until final grades are posted and accepted, in order to resolve any discrepancies in grading.
Readings are listed in the syllabus.md file for each day. The instructor may not mention the reading for the next class. The onus is on you to review the syllabus and do the appropriate reading before class.
All software projects for this course will be written in the Java language (version 1.8 or later).
Under most circumstances, it is almost always better to participate in class than not. Questions and comments are invited and strongly encouraged! However, this implies raising your hand and waiting to be called upon. In dire circumstances, some waving of the hands in order to get the instructor's attention is allowed, but suboptimal. Talking out of turn or while the instructor is speaking is generally frowned upon. If it persists after a warning has been given, the instructor may ask any offending parties to leave the room to continue their discussion or monologue elsewhere.
The Office of Disability Resources and Services (DRS) provides a broad range of support services to assist students with disabilities. Services include, but are not limited to, tape-recorded textbooks, sign language interpreters, adaptive and transportation. Contact DRS at 412-648-7890 or 412-383-1355 (TTY) in 216 William Pitt Union or see www.drs.pitt.edu for more computer technology, Braille translation, and nonstandard exam arrangements, DRS can also assist students with accessibility to campus housing information.
The instructor will work to the best of their ability to accommodate any issues arising from a disability that a student has, but he must be aware of it in order to accommodate it. Please inform me as soon as possible if you have a disability which you think may hinder your success in the course and we (along with the DRS) should be able to work around it.
The integrity of the academic process requires fair and impartial evaluation on the part of faculty and honest academic conduct on the part of students. To this end, students are expected to conduct themselves at a high level of responsibility in the fulfillment of the course of their study. It is the corresponding responsibility of faculty to make clear to students those standards by which students will be evaluated and the resources permissible for use by students during the course of their study and evaluation. The educational process is perceived as a joint faculty-student enterprise which will perforce involve professional judgment by faculty and may involve—without penalty—reasoned exception by students to the data or views offered by faculty.
Cheating/plagiarism will not be tolerated. Students suspected of violating the University of Pittsburgh Policy on Academic Integrity, from the February 1974 Senate Committee on Tenure and Academic Freedom reported to the Senate Council, will be required to participate in the outlined procedural process as initiated by the instructor. A minimum sanction of a zero score for the quiz or exam will be imposed.
View the complete policy at www.cfo.pitt.edu/policies/policy/02/02-03-02.html.