This document discusses scope in programming languages. Scope refers to the context where a variable name is valid and can be used. There are two types of scope: static and dynamic. With static scope, a variable's scope is the block of code it is defined in such as a function. With dynamic scope, a variable's scope is the period of time a function executes, so the variable remains accessible after the function returns. The key difference is that static scope searches parent blocks for variable names while dynamic scope searches called functions.