Learning the fundamental of Object Oriented Programming