Categorical Methods in Algebra