Introductory Game Programming Instruction with OOP - What is required, How is it addressed, and Which language wins?