Algebraic construction of homology and cohomology theories, aimed at applications to topology, geometry, groups and rings. Special emphasis on hom and tensor functors; projective, injective and flat modules; exact sequences; chain complexes; derived functors, in particular, ext and tor.