When used correctly, computational technologies can prove to be extremely powerful and effective tools for solving a wide range of problems. But in order to fully harness that power, an individual needs to be proficient in instructing those tools to perform highly precise operations in well-structured and logical sequences. This unit seeks to ease you into this new, structured, and more formalized way of thinking about problem solving and programming through the use of Scratch, a block-based, visual programming language.

Once introduced to the Scratch platform and programming environment, you will then experiment with a number of basic programming concepts and constructs, such as variables, user input, and selection statements. In the process, you will not only learn how to implement intended functionality by constructing well-designed blocks of executable code, but they will also explore techniques for debugging their code and verifying its correctness.