If you've been wanting to learn about the fundamentals of object-oriented programming, the Alice 3D programming language may be a good place to start.
Alice is a freely available tool designed to be a first exposure to object-oriented programming. It lets you learn fundamental programming concepts in the context of creating animated movies and video games. In Alice, 3D objects--people, animals, vehicles, and the like--populate a virtual world and you create programs to animate the objects.
Developed at Carnegie Mellon University, Alice uses three-dimensional figures placed in a storyline instead of the familiar numbers, letters, and symbols of standard programming languages. In Alice's interactive interface, you drag-and-drop graphic tiles to create a program, where the instructions correspond to standard statements in a production-oriented programming language, such as Java, C++, and C#. Alice lets you immediately see how your animation programs run, helping you understand the relationship between the programming statements and the behavior of objects in their animation. By manipulating the objects in their virtual world, you gain experience with all the programming constructs typically taught in introductory programming courses.