Денис Загаевский: Объектно ориентированное программирование. Абстракция, инкапсуляция (как и почему нужно скрыть внутреннюю кухню), наследование, объекты (какой объект какую функцию выполняет и какие объекты будут взаимодействовать между собой) и многое другое. Круто в общем =)