Teaching Object-Oriented Techniques