An introduction to cohomology via derived functors and the theory of connected δ-functors leading to a theory that applies to abelian categories (for example of modules over a ring or sheaves over a space or scheme) with either enough projectives or enough injectives. The statement and outline of the proof of the Universal Property of such theories and its application to concrete calculations. The application of the ideas specifically to the \ext and \tor groups for modules over a ring leading to long exact sequences in both variables and two dimension shifting strategies. The specific application to cohomology groups. The connection between first cohomology and conjugacy classes of complements in split extensions. The connection between second cohomology and group extensions. Applications to abstract group theory.

A basic course in rings and modules. Some homological algebra would also be helpful: for example a first course in homology of simplicial complexes.