An Introduction to Abstract Algebra with Notes to the Future Teacher