CMP 619 –Blockchain and
Cryptocurrencies
Semester |
Spring 2019 |
Instructor |
Assist. Prof. Dr. Adnan Özsoy Email: adnan.ozsoy@hacettepe.edu.tr |
Class Hours |
Tuesday, 13:30-16:30 D5 26.02.2019
– 28.05.2019 |
Text Book
·
Bitcoin and Cryptocurrency Technologies: A Comprehensive
Introduction Hardcover, Arvind Narayanan, Joseph Bonneau, Edward
Felten,Andrew Miller,Steven
Goldfeder, 2016
Free pre-publication
draft @ http://bitcoinbook.cs.princeton.edu/
·
Mastering
Bitcoin: Programming the Open Blockchain 2nd Edition, Andreas M.
Antonopoulos, 2017
Reference Material
·
Mastering Ethereum, by Andreas M. Antonopoulos,
Gavin Wood https://ethereumbook.info/,
https://github.com/ethereumbook/ethereumbook/blob/develop/book.asciidoc
Grading
Track 1 –
Regular Student
Project : 40 %
Attendance : 5 %
Midterm Exam
: 55 %
Track 2 –
Research Oriented Student
Term Paper : 50 %
Presentation : 10 %
Attendance : 5 %
Midterm Exam
: 35 %
Course Material and Communication
https://piazza.com/hacettepe.edu.tr/spring2019/cmp619
Course Objective
This
course provides a thorough understanding of the fundamental concepts and recent
advances in blockchain and cryptocurrencies. The main objective is to provide
students practical and theoretical foundations to use and develop applications
using the blockchain technology and can solve challenging problems in
cryptocurrencies.
Tentative Schedule
Week |
Date |
Topic |
|
1 |
26.Feb |
Lecture
1: Introduction |
|
2 |
5.Mar |
Lecture
2: Blockchain Fundamentals |
|
3 |
12.Mar |
Lecture
3: Bitcoin Mechanics |
|
4 |
19.Mar |
Lecture
4: Wallets, Mining, Pools |
|
5 |
25.Mar |
Lecture
5: Ethereum and Smart Contracts |
|
6 |
2.Apr |
Lecture
6: Distributed Application Development |
|
7 |
9.Apr |
Midterm
|
|
8 |
16.Apr |
Lecture
7: Distributed Application Development |
Project
out |
9 |
23.Apr |
Holiday
|
|
10 |
30.Apr |
Lecture 8: Blockchain
Security |
|
11 |
7.May |
Lecture
9: Consensus Algorithms |
|
12 |
14.May |
Lecture
10: Scaling Blockchain |
Project
Due |
13 |
21.May |
Lecture
12: Presentations |
|
14 |
28.May |
Lecture
13: Presentations |
|
You are responsible for all material presented in lecture. Some of the course material is not covered in the textbook.
All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated.
The term paper will be cross-checked through the Turnitin system and any major similarity will be penalized.
In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.
All information in this syllabus is subject to change during the semester.