Instructor's Guide: Object-oriented programming languages