In spring 2018, a graduate course called “Fundamentals of Blockchain and Cryptocurrencies” was presented in Sharif University of Technology (SUT). With the goal of introducing students to both theoretical and practical aspects of blockchain and its applications and prepare them for further study and research in this area. More than 90 people participated in this course. Among them about 50 people were SUT graduate students from Electrical Engineering, Computer Engineering, and Mathematics departments that took this course. Some of the participants were undergraduate students. Furthermore, about 40 people audited the course. The contents of this course is available to download from the Telegram channel of the course: [https://t.me/BlockChainSharif]
The main goal of this course is to present the technical sides of the blockchain and cryptocurrencies. This course is presented in 11 chapters. The fundamentals of blockchain and cryptocurrencies are taught in depth. There are also theoretical and practical assignments that help students better grasp the concepts of blockchain and cryptocurrencies. Subjects that are discussed in the first sessions include cryptography, basic introduction to cryptocurrencies, and fundamentals if distributed systems. Then the fundamentals of blockchain, a part of which is taught about Bitcoin and Ethereum, is discussed. Then we discuss about blockchain based systems, data security in blockchain systems, and how to attack a blockchain system and the ways to avoid it. Moreover, some cryptocurrencies other than bitcoin and ethereum along with their similarities and differences to/from these coins are discussed. We also talk about the hot topics and problems of blockchain technology like scalibility, security, and privacy. The course syllabus is attached to this document.