Building applications with real use cases nearly always involves the use of complex data structures such as maps, or structs and control structures such as if-else statements and loops in your Blockchain solutions. In this 11-video course, participants will explore the use of mapping and struct data structures in the Solidity language, as well as covering the looping operations with for, while, and do-while loops. Learn to build a smart contract which can be used to conduct a poll. The demos in this course will help you gain a very broad understanding of the Solidity language, and know how to use complex data structures, access modifiers, require clauses, as well as control structures, to build an application representing a real-life use case. The concluding exercise tests your ability to identify the rules you must follow to access transaction data from a smart contract and initialize a new instance of a struct (SampleStruct), setting two different methods which are supported.