The main objective of this course is to prepare students for later studies in Cryptography Graduate Program of IAM, and also to explain some problems that are easy to ask but still unsolved and to give some ideas about why abstractions are to be made, by giving fundamental properties of integers and some algebraic preliminaries.