Blockchains, the basis of the foundational technology underpinning cryptocurrencies, offer many desirable features to end users such as anonymity, immutability, and direct, peer-to-peer transactions. There is immense interest in applying this technology to disrupt and reshape other areas such as cybersecurity, supply chains, health-care, finance & taxation, media, government & administration, and transportation. Goals of adopting this technology include minimizing fraud, providing decentralization, and maximizing efficiency, security, and transparency. This course will introduce blockchain design, including the blockchain data structure, distributed systems, consensus management, public key cryptography, hashing, transactions, smart contracts, proofs of work, and wallets. Based on this groundwork, the course will explore political, economic and social implications of blockchain technology in the context of course projects. Basic knowledge of computer programming is expected. Students from different disciplines are welcome to enroll and encouraged to work in teams to define & implement blockchain-based projects.