Functions and Modules
Functions and modules are self-contained units of code. They enable us to isolate chunks of code into small packages. They are important components of software engineering. One principle for designing programs is separation of concerns. A concern, in this context, is a well-defined task or related set of tasks. Separation of concerns makes the program easier to modify and maintain.