Karel is a training environment which is very useful for understanding
Object Oriented programming. It is a great place to start if you
are trying to learn progrmming in general or are trying to learn
C++. In Karel
you build virtual robots that perform certain tasks in virtutal
worlds. Because programming can very abstract, Karel helps to
put the language in terms that generate that kind of abstract
thinking. Karel is good introduction to programming topics like:
classes, objects, methods, functions and inheritence. I discovered
Karel years after learning how to program and I helped me to
understand some topics that I "didn't get" before.
Karel++: A Gentle Introduction to the Art of Object-Oriented Programming pretty much
covers the whole language. You can download the development environment here:
windows or mac.
I have several dozen programming examples and problem solutions zipped