Abstract. A considerable amount of experiences in teaching object oriented concepts using the Java language have been reported to date, some of which describe language pitfalls and concrete learning difficulties. In this paper, a number of additional issues that have been experienced as difficult for students to master, along with approaches intended to overcome them, are addressed. Concretely, practical issues regarding associations, interfaces, genericity and exceptions are described. These issues suggest that more emphasis is required on presenting Java programs as derivations of conceptual models, in order to guarantee that a thorough design of the object structure actually precedes implementation issues. In addition, common student misunderstandings about the uses of interfaces and exceptions point out to the necessity of introducing both specific design philosophies and also a clear distinction between design-for-reuse and more specific implementation issues.