This course is intended for students interested in learning about the blockchain technology and in developing applications using the blockchain concepts. Topics include: blockchain peer-to-peer transactions, blocks of transactions, chain of blocks, chain integrity, and structure and operational details of a blockchain. Blockchain programming using smart contracts and decentralized application (Dapp) development will be discussed in detail using hands-on programming. Bitcoin and Ethereum blockchain protocols will be used to illustrate the various concepts, Solidity language for smart contract development, Remix and Truffle environments for Dapp development. This course is dual-listed with CSE 426.