Alice - An Educational Software that teaches students computer programming in a 3D environment
Alice is a visual programming environment that is used to teach students Computer Science concepts. It is often used in introductory Computer Science courses.
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.
In Alice's interactive interface, students 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 allows students to immediately see how their animation programs run, enabling them to easily understand the relationship between the programming statements and the behavior of objects in their animation. By manipulating the objects in their virtual world, students gain experience with all the programming constructs typically taught in an introductory programming course.
Scratch - A visual programming language from the MIT Media Lab
Scratch has a very simple interface for creating video games. It can be used to help students learn concepts in math, programming, design, and digital media.
Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.
Computer Games As Liberal Arts
Here's a cool article that talks about how creating video games can even help students learn concepts in writing, logic, math, science, marketing, sociology, and Internet culture.
[...] some educators are going a step further, teaching kids to make the games themselves. It turns out to be perhaps the ultimate form of liberal arts. In order to create a computer game you have to think about the content. You have to write a script. The programming involves logic, math and science. And to understand how you distribute a game you have to get into issues of marketing, sociology, and Internet culture.
Given the above, think about how much smarter we're getting every day at work!