In this paper we present our findings on teaching OOP with BlueJ in the context of a one-semester programming course. We organize our findings, i.e., the difficulties, the errors, and the misconceptions that students encounter, in two categories: (a) difficulties attributed to the special characteristics of ......, and, (b) difficulties that may be attributed to the features of the programming environment.