Abstract:In recent years, Python has made great inroads as an introductory language in computer science education, but few emphasize its object-oriented nature; it is most often introduced with a procedural paradigm. For those teaching object orientation in CS1, Java remains the predominant language.
We suggest that Python is an excellent choice for teaching an object-oriented CS1. Based on our experiences teaching such a course for three years and authoring a textbook "Object-Oriented Programming in Python" (http://prenhall.com/goldwasser), we discuss the issues involved in adopting Python for an object-oriented CS1, and the downstream effects on the remaining curriculum.