Knowing how to encapsulate code into reusable blocks using functions, understanding parameters, return values, and scope.

Functions are a convenient way to group our code into reusable blocks. A function contains a sequence of steps that can be performed repeatedly throughout a program without having to repeat the process of writing the same code again.