Alice opens doors to problem solving and critical thinking.
I think Alice 2 and 3 (There are 2 versions. Alice 3 focuses more on laying the groundwork for programming in Java) are wonderful tools not only for learning basic programming concepts, but for learning critical thinking and problem solving. I found that my students who had SLDs in math benefited the most from this, as it taught them another way to think. They could apply the steps we learned using Alice to their math and suddenly it was making sense. I would highly recommend any teacher with mature 5th graders and up to consider Alice an option for teaching intro to programming or problem solving in general.
How I Use It
I taught a basic intro to programming course for high school students with no prior exposure to computer programming. I utilized the Learning to Program with Alice textbook to help teach this course. This is a object oriented programming program that allows students to program using drag and drop and does not require students to learn a specific programming language and takes the focus off of proper context. Instead, it allows students to focus on learning critical thinking and problem solving skills that can be applied across every subject. When I was teaching a new concept, I would model and have students follow along on their own computer. Then I would facilitate the creation of a program by having students take turns coming up to the interactive white board and adding pieces to the program. They could choose to try on their own or ask for input from their classmates. I would then have them work on 1 or 2 scenarios in groups of 2 or 3. Finally I would have them create a program on their own. As I was teaching the concepts, like stepwise refinement, I would make connections to how they could also use the process in math or writing or even solving problems they face in life.