How subroutines are used in programming, how values are passed to and received from subroutines, and how to design, program and use functions and procedures.