COURSE DESCRIPTION AND APPLICATION INFORMATION

Course Name Code Semester T+A+L (hour/week) Type (C / O) Local Credit ECTS
Blockchain Programming Project CMPE 486 Fall 03+00+02 Elective 4 8
Academic Unit: Computer Engineering Department, Faculty of Engieering and Natural Sciences
Mode of Delivery: Face to face
Prerequisites: None
Language of Instruction: English
Level of Course Unit: Undergraduate
Course Coordinator: İlktan AR & Taner ARSAN
Course Objectives: This course aims to provide a comprehensive understanding of blockchain technology, covering its fundamental principles, cryptographic foundations, and decentralized peer-to-peer systems. Students will explore key blockchain platforms and cryptocurrencies, gaining insights into distributed consensus mechanisms, the double-spending problem, and the role of mining in securing blockchain networks. The course will also delve into blockchain wallets, transaction mechanisms, and Ethereum smart contract programming, enabling students to develop and deploy decentralized applications. Security considerations will be emphasized, with a focus on common smart contract vulnerabilities and attack mitigation strategies. Finally, students will explore emerging trends and real-world applications, including enterprise blockchain solutions like Hyperledger and innovations such as the Ethereum Name Service (ENS). By the end of the course, participants will have the knowledge and skills to analyze, develop, and secure blockchain-based applications.
Course Contents: Overview of Cryptography. Peer-to-Peer Systems. Blockchain Platforms and Cryptocurrencies. Byzantine Generals and Double Spending Problems. Mining. Wallets. Smart Contract Programming on Ethereum Platform. Developing Decentralized Applications (Dapps).
Learning Outcomes of the Course Unit (LO):
  • 1- To understand blockchain technologies and where to apply them.
  • 2- To use Bitcoin and Ethereum blockchain infrastructures and their crypto-currencies.
  • 3- To design and develop decentralized and autonomous applications.
  • 4- To present clearly the project in both the oral and written form.
Planned Learning Activities and Teaching Methods: Project-based education, Project report, Project presentation, Project implementation.


WEEKLY SUBJECTS AND RELATED PREPARATIONS

WeekSubjectsRelated Preperation LO
1 Introduction to Blockchain 1
2 Overview of Cryptography 1
3 Decentralized Peer-to-peer Systems 1,2
4 Overview of Blockchain Platforms and Cryptocurrencies 1,2
5 Distributed Consensus, Double Spending Problem 1,2
6 Mining 1,2,3
7 Project-1 1,2,4
8 Project-1 1,2,4
9 Wallets 1,2
10 Ethereum Smart Contract Programming 1,2,3
11 Distributed Autonomous Organizations 1,2
12 ERC/EIP Contract Standards, Tokens 1,2,3
13 Attacks on Smart Contracts 1,2
14 Miscellaneous Topics (Hyperledger, Ethereum Name Service, etc.) 1


REQUIRED AND RECOMMENDED READING

Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder, "Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction", Princeton University Press, 2016. Andreas M. Antonopoulos, "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", 1st Edition, O'Reilly Media, 2015.


OTHER COURSE RESOURCES

Andreas M. Antonopoulos, "The Internet of Money: A collection of talks by Andreas M. Antonopoulos, volume 1", CreateSpace Independent Publishing Platform; 1st edition, 2016.
Andreas M. Antonopoulos, "The Internet of Money: A collection of talks by Andreas M. Antonopoulos, volume 2", Merkle Bloom LLC, 2017.


ASSESSMENT METHODS AND CRITERIA

Semester RequirementsNumberPercentage of Grade (%)
Laboratory 10 20
Project 2 80
Total: 12 100


WORKLOAD

EventsCountDuration (Hours)Total Workload (hour)
Course Hours14342
Laboratory14228
Project265130
Total Workload (hour):200


THE RELATIONSHIP BETWEEN COURSE LEARNING OUTCOMES (LO) AND PROGRAM QUALIFICATIONS (PQ)

# PQ1 PQ2 PQ3 PQ4 PQ5 PQ6 PQ7 PQ8 PQ9 PQ10
LO1                    
LO2                    
LO3                    
LO4