Introduction
Decentralized Applications (dApps) is an intermediate-level, free online course where students will be taught everything they should know about dApps. Divided into four modules, the course covers specific information about decentralized applications (dApps) that can help in developing decentralized applications in real life. The course starts with just a basic introduction to dApps, and then it gets into details about truffle development, design improvements, application models, and standards. This course goes beyond the theory and basic information you can find online. Instead, it delves deeper into professional tutorials that can help the students see everything in real life.
What Will You Gain From This Course?
Following the completion of this course, the students will be able to:
Skills Acquired:
Who Can Benefit From This Course?
This course is designed for:
Course Content
4 Modules - 21 Videos – 14 Readings – 15 Quizzes - 1 Programming Assignment – Certificate of Completion
Decentralized Applications (dApps)
This is the first module of the course that introduces Decentralized Applications (dApps). It will take around four hours to complete. In this module, the students will explore all the foundational concepts important for developing a dApp.
The students will start with some basic introduction, concepts, and terms. The module will offer some basic understanding of the development environment that is essential for dApps. The students will get to learn about installing the blockchain server and then setting up a peer-to-peer network of nodes.
Truffle Development
The second module of this course takes around five hours to complete. It looks into the Truffle environment and how it can be used to develop and test a dApp. The students will also be introduced to some of the most important and used truffle commands, such as develop, init, compile, migrate, and test. Participants will also learn about the different steps essential for developing and testing a complete dApp. Some of the most important steps covered in this module include Truffle IDE with Compile, Migration, Negative Test Demo, Front-End Demo, and MetaMask Demo.
Design Improvements
This is the third module of the course and spans around three hours. This module mainly focuses on design improvements. The students will be introduced to different design elements that are important for the aesthetics of the dApps.
Moreover, the students will also get to discuss some of the best industry practices that are important for developing smart contracts, what makes them better, and how these smart contracts are important for developing dApps.
This module is ideal for improving the overall aesthetics and design of your basic dApp. Some of the important topics covered in this module include the importance of Solidity features, the use of event handling, and Oraclize. This module also includes quiz assessments so the participants can assess their knowledge.
Application Models & Standards
This is the fourth and last module of this course. It will take around five hours to complete and offers a basic introduction to application modes used today. The students will also learn about some industry standards for developing dApps. The module explores topics like the Ethereum improvement proposals and the ERC process. Both these concepts are vital for keeping the Ethereum blockchain updated. There is a dedicated section for discussing standard ERC 20 for token dApps and ERC 721 for non-fungible tokens as well.
Some of the most important topics in this module include smart contract testing, dApp models, and dApp standards. The module also contains an assessment and quiz section so the participants can assess the newly learned information.
Description
The Decentralized Applications (dApps) course will teach about the importance of developing dApps. It offers a step-by-step process of developing and designing decentralized applications. The goal of this course is to help the students design and develop end-to-end decentralized applications (dApps). Decentralized applications offer access to the blockchain’s features and services. To develop the app, the students will be introduced to Truffle IDE, smart contracts, a simple web client, and a MetaMask client.
Moreover, there is a section for designing and architecture of a dApp. Within the architect and design section, the students will be introduced to a front-end client interface backed by the blockchain and smart contracts. Finally, the participants will get to explore some important Truffle development processes and commands like init, develop, test, and migrate, as well as the use of these commands. Some of the other topics covered in this course include test-driven development of dApp, dApp application models and emerging standards, and predictable dApp behavior.
Meet the Instructor
Bina Ramamurthy is a computer science and engineering professor at the University at Buffalo. Bina has over two decades of experience in the tech industry. She has proven herself in multiple tech fields, both academic and research-wise. She has worked in STEM education, tech curriculum development, and the latest technology development and training. Apart from her profession as a professor, she is working as a director of the Blockchain ThinkLab and the SUNY-approved Data-intensive Computing program. Bina has received recognition from tech experts and on tech forums. She has earned multiple awards for her teaching and research. Some of the noteworthy awards include the Best Teaching Faculty of the Year award and several NSF grants. Some of the areas where she has worked and earned a lot of admiration include data-intensive computing, big data, and emerging technologies. All this work and contribution to tech innovation make her a valuable asset to the field.