Abelian Groups Rings Modules and Homological Algebra