What are minimum requirement for a novice to learn OOP?
Interest in the subject and access to some source of information on OOP?
I suspect access to some kind of programming environment to experiment with will help in most cases.
- A working brain
- The capability for abstract, formal thought
- Some sort of development environment that supports OO
- A source of information on OO, such as a textbook or (better) a teacher
No,nothing required except a passion to learn and program.This applies not even for programming , any thing you want to do.
The hardest thing to learn in OOP is knowing how to learn a new Concept.
I think that it takes some months/years for the ideas to really sink in, I'm still learning.
The source of information is the most important thing. What you don't want is someone explaining OOP in a way the novice can't make sense of. That will cause confusion and may result in the novice never grasping the concept at all.
Depends on where you start from. The most important requirement (imho) is the ability to recognize (repeating) patterns and the ability to see a bigger picture above the 5 lines around the code you are currently writing.
Don't forget that OOP isn't a silver bullet, and some problems are best solved another way. This will allow you to learn OOP in a healthy, critical way.