Introduction to Blockchain

Title Introduction to Blockchain (56600)
Quarter Summer 2021
Instructor Mark Shacklette (

*This course will be conducted remotely and will be online only for Summer 2021*
This course is a comprehensive technical introduction to relevant topics in the wider ecosystem surrounding blockchain. Our technological focus will include substantive topics in fundamental problems that blockchain is attempting to solve (and is generating), including algorithms, cryptography, security and trust, autopoietic peer-to-peer networking, distributed ledgers, double spending, proof of work and ownership issues, decentralized applications, smart contracts, and supporting technologies.  With that said, this is not a course in economics or monetary theory, trading cryptocurrencies, nor is it a course on regulatory or legal issues surrounding blockchain, although we will touch on many of these topics throughout the course.  We will also cover broader applications of blockchain technology beyond cryptocurrencies and ICOs including use cases from finance, insurance, science, healthcare, pharmaceuticals.
We will cover cryptocurrencies and bitcoin and mining as well as ethereum initially as our introduction to the problem space, but will quickly move on to building our own blockchain application.  Students may leverage a number of technologies including containerization (Docker), as well as the MEAN stack or Ruby on Rails for the more ambitious.  Students may work in whatever languages they know best and make the most sense in context.  These may include Java/javascript, C++, python, ruby, C#, and others.
Laboratories will be offered each week to reinforce a fundamental understanding of the core topics.
A final student project will be delivered by teams of students targeting a specific blockchain use case of the team's choice (teams will be given options).
Prerequisites (Courses)

Core Programming

Prerequisites (Other)




Monday 4:10-6:00 PM


Online Only