by Nadina Martinez Carod, Silvia Amaro, Natalia Elizabet Baeza For more than 15 years we have instructed students to learn OOP using Smalltalk, mainly in concepts such as encapsulation, abstraction, inheritance, and polymorphism. At the end of the course, students are able to identify advantages in terms of reusability, creating and implementing simple solutions for typical problems. This is possible because of the characteristics and nature of this pure OO language and we choose it because we consider it the best way to start learning thinking differently. However, students usually present some difficulties when they start thinking in this new paradigm. After this first difficult step that they have to pass through, they finally get a whole idea about what OOP is, how and when they could use it. We use simple examples and typical problems by identifying implementation differences between different OO programming languages. This document explains our experience from a lecturer's point of view and shows some examples about what they are able to do during the OOP course for the Computer Science degree careers in the UNComahue. It also explains briefly what is the OOP related knowledge the University guarantee the students acquired during the Bachelor.