Introduction to Blockchain and Smart Contracts
Instructor: Mark Shacklette
This course is a comprehensive technical introduction to relevant topics in the wider ecosystem surrounding blockchain and smart contracts. Our technological focus will include substantive topics in the fundamental problems that blockchains such as Bitcoin and Ethereum are attempting to solve (and are generating), and will focus on implementation details including algorithms, cryptography, security and trust, peer-to-peer networking, distributed ledgers, double spending, consensus algorithms, 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 and smart contracts, although we will touch on many of these topics throughout the course. We will also cover broader applications of blockchain+smart contract technology beyond cryptocurrencies and ICOs and NFTs including use cases from finance, voting, real estate, medicine, digital arts, and NFTs (music, art).
In the latter half of the class, students will form teams and each team will deliver a final project targeting a specific blockchain use case using smart contracts of the team's choice (teams will be given options) running on an Ethereum testnet (such as Sepolia, etc.) or private blockchain (such as ganache, etc.).