With RobotProg you can learn programming by means of gradual levels.
Program a virtual robot with a flowchart : first you draw the flowchart, then you run the program and watch the robot executing your program. At the last level, you may program several robots playing games on the same ground.
RobotProg includes a documentation for using the application and programming. A tutorial is also available on this website.