In natural languages, modes of semantic composition include ordinary function/argument combination (e.g., red + boat = red boat), and scope-taking. In scope-taking, a scope-taker (usually a quantificational expression) takes scope over material that surrounds it. For instance, in the sentence John saw everyone yesterday, the quantifier everyone takes scope over the entire sentence in which it is embedded. Scope-taking is pervasive in natural languages. The logic of function/argument combination is well-understood: in the tradition of Lambek 1958, it can be modeled as left and right implication in a non-commutative substructural logic, i.e., concatenation and its adjoints. But what is the logic of scope-taking? This course will survey a variety of answers, exploring in detail a recent proposal in Barker and Shan 2014.