For those of you whom do not know what Alice is, below is the idea coming straight from the official Alice website.
Using an innovative programming environment to support the creation of 3D animations, the Alice Project provides tools and materials for teaching and learning computational thinking, problem solving, and computer programming across a spectrum of ages and grade levels.
To put it in layman's terms, Alice is a an application that is compatible with both Windows and Mac OS X operating systems, which teaches people how to program easier and more efficiently. Sounds like a great idea, right? Wrong.
The developers behind this project not only built an application that is supposed to teach you the concepts of programming, but also tech you the very basics of computer graphically generated animation and 3D animation. There are a few problems with this program, but before I begin outlining those problems, a screen shot from Alice is located below.
A Program to Teach One How to Program
When you are learning to program, you are more than likely going to have zero interest in learning an application that you, for the most part, will never use again. Alice seems redundant and childish at best. I was instructed to purchase the corresponding book to this piece of software, and the first few chapters were learning the software... As opposed to scratching the surface of concepts and the idea behind programming.
Not only was my time wasted learning how to use Alice, but I had already lost time that should have been spent learning more advanced topics in programming.
A Program to Oppose the Keyboard
What is a programmers greatest instrument when programming? A keyboard. Unfortunately with Alice, you very rarely will use the keyboard. The only time you may use the keyboard is when you are specifying values in method/function calls or parameters.
Given the fact that the keyboard is almost rendered useless in Alice, teaching you how to program using the mouse couldn't be more useless for a future programmer.
A Program that is Terribly Optimized
At this moment in time, my computer rig consists of the following:
- Windows 8.1 (Operating System)
- Intel Core i5 2500K (3.30 GHz) (Processor)
- 16 GB DDR3 (RAM)
- EVGA nVidia GeForce GTX 460v2 (1 GB) (Graphics Card)
- 1.5 TB SATA Hard-Drive (5900 RPM) (Storage)
For the most part, my PC can handle quite a bit, and still run quite smoothly without crashing or overheating (including the Adobe Creative Suite, Visual Studio, etc.). Alice takes 20 - 30 seconds to show the fully loaded window, then Alice takes another 15 - 30 seconds to show the welcome menu, finally after 10 seconds of Alice not responding, I can start using the program.
Curiously, these same load time and non responsive issues are not only a special case for myself, this seems to be a widely known issue amongst other users.
What is even more curious, no matter what operating system you are utilizing when you have Alice loaded, and are using the program, you will consistently see the loading cursor for your mouse; which is awfully confusing. I also cannot forget the runtime errors and random crashes.
Personally, I believe a program that was made to teach others how to program, should be highly optimized.
A Program that Taught Me Virtually Nothing
To describe how I feel towards Alice without bashing too hard on the software; this program is absolutely horrible and I do recommend that not a single person support or attempt to use this software. If you do, you will feel nothing but anger and confusion for the duration of your quest, per se.
What little I did learn came directly from the book. The authors had the decency to jump away from Alice every so often and explain to you every programming topic/concept in the book in a way that anyone could understand.
There is a reason why the program is free... Fortunately though you can learn to program with real code with free alternatives that actually teach you something you will use, such as Codecademy.
What You Should Do: No 3D Animation Software
If you really want to learn the concepts of programming, and have that knowledge stick; I would recommend picking at a beginners programming language like Visual Basic or Python; so you may be able to grasp not only the concepts, but learn a language while you are dedicating the time. Your results will be much more pleasing and you will be able to include a bullet point on your résumé.