Blockchain Series Courses


Course 1: Introduction to Cryptography(密码学引论)


Course introduction: The Introduction to Cryptography Course is an introductory-level course that provides a modern, computer science perspective on cryptography. This course uniquely blends theory and practice, covering standardized cryptosystems widely used in practice, without sacrificing rigor or an emphasis on foundations. Throughout this course, we will explore a range of topics, including classical cryptography, private-key encryption, message authentication codes, hash functions, public-key encryption, digital signature schemes, as well as selected advanced topics such as post-quantum cryptography, blockchain, universally composable proofs, and zero-knowledge proof.
Semester: Fall 2021/22/23
Instructor: Minghui Xu (徐明辉@SDU)
Email: mhxu@sdu.edu.cn
Textbook:
深入浅出密码学——常用加密技术原理与应用(英文原版:Understanding Cryptography: A Textbook for Students and Practitioners)
Recommended Readings:
Katz, Jonathan, and Yehuda Lindell. Introduction to modern cryptography. CRC press, 2014

Course 2: Distributed Computing(分布式算法)


Course introduction: The course “Distributed Computing” aims to teach students how to apply the principle of “Everything can be Distributed” to various computing problems. It adopts a bottom-up approach to introduce distributed computing at different levels of abstraction, from processes and threads on a single machine to multi-machine scenarios (cloud computing, data centers), network environments (peer-to-peer networks, Internet of Things), and intelligent systems (crowd intelligence, game mechanisms). It covers several classic algorithms in distributed computing under different levels of abstraction and computing models, such as logical clocks, message synchronization, state snapshots, termination detection, wireless election, truthful auction, etc. By taking this course, students will not only learn and master the concepts, definitions, models and algorithms of distributed computing in various scenarios, but also gain a comprehensive understanding of the paradigm and system of distributed computing. Moreover, by exposing students to cutting-edge research topics and literature, this course will inspire them to think about the connection and interaction between their own majors and the field of distributed computing.
Semester: Spring 2022/2023
Instructor: Yangguang Shi (时阳光@SDU)
Email: shiyangguang@sdu.edu.cn
Textbook:
Distributed Systems 3rd Edition (2017), by Maarten van Steen, Andrew S. Tanenbaum
Recommended Readings:
《分布式操作系统》:Andrew S. Tanenbaum 著,陆丽娜,伍卫国,刘隆国 等译校,电子工业出版社,2008-03
《分布式存储编码与系统》:李挥,侯韩旭 著,科学出版社,2016-08
《云计算:概念、技术与架构》: Cloud Computing Concepts, Technology & Architecture,Thomas ERL,Zaigham Mahmood,[巴西] Ricardo Puttini 著,龚奕利,贺莲,胡创 译,2014-07
《群智感知计算》:於志文,郭斌,王亮 著,清华大学出版社,2021-10
《算法博弈论二十讲》:蒂姆·拉夫加登(Tim Roughgarden) 著,郝东,李斌,刘凡 译,机械工业出版社,2020-01

Course 3: Introduction to Blockchain(区块链原理)


Course introduction: The Introducion to Blockchain Course comprehensively introduces the development history and core technologies of blockchain. This course uniquely integrates theory and practice, covering data structures, consensus algorithms, and smart contracts that are widely used in blockchain system development, without sacrificing rigor or emphasizing basics. Throughout the course, we will explore a range of topics, including common cryptographic techniques, blockchain consensus algorithms, sharding, ledger structures, cross-chain technology, off-chain scaling, incentive mechanisms, as well as security and privacy issues and their solutions faced by blockchain.
Semester: Fall 2022/2023
Instructor: Minghui Xu (徐明辉@SDU)
Email: mhxu@sdu.edu.cn
Textbook:
Foundations of Distributed Consensus and Blockchains—Elaine Shi
Bitcoin and Cryptocurrency Technologies
Decentralized thoughts(博客https://decentralizedthoughts.github.io/starthere/)
Recommended Readings:
Cryptography I by Stanford: https://www.coursera.org/learn/crypto
Cryptography by UMD: https://www.coursera.org/learn/cryptography
(入门) CS294-91 Distributed Computing by UCB: https://people.eecs.berkeley.edu/~alig/cs294-91/
(进阶) 6.824 Distributed Systems by MIT: https://pdos.csail.mit.edu/6.824/schedule.html

Course 4: Blockchain and Decentralized Finance (DeFi)(区块链金融)


Course introduction: This course is for students who wish to explore the potential use of blockchain technology in fintech. The course begins with a review of cryptography primitives, blockchain consensus, Bitcoin, Ethereum, and payment channels, then extends to an understanding of the security and efficiency challenges in blockchain technology. The class will also direct students to the current and potential blockchain applications in the financial area.
Semester: Summer 2022/2023
Instructor: Qin Hu (胡琴@IUPUI)
Email: qinhu@iu.edu
Textbook:
http://bitcoinbook.cs.princeton.edu/

Course 5: Blockchain in Practices(区块链实践)


Course introduction: The Blockchain Practice Course consists of three key components to strengthen students’ ability in applying the Blockchain technology. First, a blockchain network simulator is designed to allow students to experience and operate a series of processes of initiating blockchain transactions, broadcasting transactions, reaching consensus, verifying transactions, and adding network nodes. Second, students are required to design and deploy smart contracts on Ethereum for several typical applications, e.g., decentralized voting and auction. Third, we ask student to come up with distributed solutions to deal with the unmet challenges in existing centralized applications.
Semester: Spring 2022/2023
Instructor: Yanni Yang (杨燕妮@SDU)
Email: yanniyang@sdu.edu.cn
Textbook:
《从零开始自己动手写区块链》机械工业出版社
《GO语言区块链应用开发》北京大学出版社
《区块链开发》中国水利水电出版社