The Ethereum Developer course is designed for developers who wish to understand how to create and integrate Ethereum based decentralized applications ("dApps"). The course gives a top-down view of all important aspects in creating a dApp, an overview of how the Ethereum blockchain works, how it is different from traditional architecture, and how to set up a working environment of new developer tools. Students are introduced to Solidity, the main language used for creating smart contracts. After learning how to write, deploy, test, and interact with smart contracts, students see real examples in action by mimicking real running protocols. Graduating students will connect smart contracts to a user interface, illustrating their ability to develop sophisticated dApps (Decentralized Applications).