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

 

 

Policies:

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.