Object-oriented programming is a different programming paradigm from the procedural programming paradigm used so far. When students start learning how to define, construct and use classes and objects, they face new misconceptions and challenges. The M&Cs listed below are common ones for beginners. While our responses are targeted to using Python, misconceptions and challenges are no different when using classes in Java or another object-oriented programming language.
- M&C 1: Classes and objects don’t make programming easier.
- M&C 2: Difficulty distinguishing between the class and an object.
- M&C 3: A class is a collection of instances.
- M&C 4: Understanding the difference between a class variable and an instance variable.
- M&C 5: Correct syntax for using classes and objects is hard.
- M&C 6: Designing classes is hard.