Get ready for a first look at programming paradigms! This Chapter covers what programming paradigms are, why they matter, and two broad categories of programming paradigms, namely Imperative and Declarative programming. You will also learn about the benefits of writing modular code and employing separation of responsibilities and how these relate to different paradigms.
Dive into one of the most commonly used paradigms in programming: Procedural Programming. This Chapter covers what procedural programming is, what problems it can be used to solve, and how it achieves separation of responsibilities and modular code. You will learn how control flow statements like `if` statements, `for` loops, and function definition can all be used in procedural programming, and you'll get to practice these in Python.
Dive into functional programming in this Chapter. We will cover the basics of functional programming: when to use it, some advantages and disadvantages, as well as some applications. You will also learn about using recursion in functional programming, and you will even implement some basic functional programs of your own!
Let's play with some classes and objects! This chapter will cover the Object-Oriented Programming paradigm, its common applications, pros and cons, and how to implement basic object-oriented programs in Python. We'll also touch on some more advanced topics in this paradigm including class inheritance and public vs. private attributes.