This module introduces basic procedural programming. It teaches you how to program, but also how to be a better "defensive" programmer. It is not just about getting code to work and do the right thing, you must be able to write good code that does it in a good defensive way, so that it is easy for humans to read and understand and easy to change as requirements change. You will learn about the program paradigm of procedural programming. It will give you a deeper understanding of programming language constructs and why core programming language concepts are the way they are.