I've taken this course entitled "Finite Mathematics", a course for computer scientists, software engineers and pure mathematicians (optional but useful). Assuming you have learnt the very basic of number theory in the discrete mathematics section, you are ready to get a taste of higher algebra here. Things like prime numbers, tests for primality, Fundamental Theorem of Arithmetic, Fermat's little theorem, Gauss' lemma, Euler's theorem, Chinese remainder theorem and their applications (coding, RSA etc.) are concerned in this section. This is a bridge that connects first stage basic algebra, discrete mathematics and the third stage abstract algebra.
- Chapman R. A Guide to Arithmetic [.pdf] (FREE!)
- Childs L.N. A Concrete Introduction to Higher Algebra - This book isn't terribly good.
- Davenport H. The Higher Arithmetic: An Introduction to the Theory of Numbers
- Smith R. Elementary Algebra Course Notes (FREE!)