Teach souls to fly
When I began working in the software industry almost all programming was done with “procedural” languages. In procedural languages (e.g. Cobol, Fortran, C, etc.) programs are composed of “modules” of procedures, where a procedure is a sequence of statements. In “C” for example, procedures are a sequence of imperative or directive statements, such as assignments, tests, loops and invocations of sub procedures. These procedures are functions, which map arguments to return statements.