I'm guessing that a lot of educators share my thought process when looking for new curriculum or materials to use in classes. I want to keep my classes fresh and new, so what I use has to be engaging, but it also has to be quality and reflect the goals and objectives I want students to achieve. I was excited to have the opportunity to attend the Alice 3 and Java Institute for Community College Faculty
a couple weeks ago, and am even more excited to start using Alice 3 in classes after attending! In case anyone reading teaches anything Computer Science related, I thought I'd share a little about what Alice is and what we learned over this 4 day institute.
First of all, let me explain a little about what Alice is. Straight from the Alice website, www.alice.org,
"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." http://www.alice.org/index.php?page=what_is_alice/what_is_alice
So in short, Alice is a programming environment you can use to introduce logic and programming in a fun, exciting, engaging, non-scary way. I've only taught our CIS-115 Introduction to Programming and Logic class a couple of times, but I distinctly remember one thing about teaching it- the look of fear on some of my student's faces after reading terms like algorithm, variables, and strings on the syllabus. Last fall when teaching the class, I used a program similar to Alice, but found that it didn't have the direct correlation to Java or C++ that I was looking for. Enter Alice.
First of all, how could you not have fun with something like this, where our first assignment was to create an animation scene from Finding Nemo? Throughout our 4 days, we learned all about problem solving using Alice, how to set up scenes, how to create motion, design algorithm, procedures and parameters, built-in functions, creating our own functions, variables, strings, and how to transition to Java using NetBeans.
One of the hardest things to get the hang of when writing code (for students and for me) is syntax! I remember back when I took my first programming class staying up all night writing code and running, writing code and running, to realize after tons of time spent searching that my issue was usually one little punctuation mark out of place or error in spelling keeping everything from working. Of course, just using something like NetBeans or Eclipse helps with that immensely, Alice takes it a step further.
Imagine being able to teach logic, and introduce students to the concepts of programming by letting them actually program without worrying about syntax. That's exactly what Alice will allow you to do. I really like how easy it is to create in Alice, but also how seamless the transition to Java is. Below you can see how this simple scene is written in Alice, then the same scene looks in Java. So you can teach the concepts, the language, the terminology all in Alice, and have students build much more complex programs than they could in Java or another language. Using a plug-in for NetBeans, you can import your Alice program straight into NetBeans so that you can see how it looks in Java, then make any modifications you want.
|Nemo scene in Alice|
|Nemo scene in NetBeans, using Java|
I think looking at the above, you can see what a great teaching tool Alice would be for anyone teaching Java or C++. Even if you're not a computer science teacher, I can see Alice being a great tool to teach about story and creative writing. To set up a scene, you really have to plan things out, think about markers, view point, and more.
One of the best parts, is that you can download Alice and supporting materials and resources for free from the Alice website at www.alice.org
. If you're looking for a new way to introduce computer programming, be sure to check it out! I'm even planning on including an Alice project into my CIS 110, Introduction to Computers classes. I'll be using it primarily with college students, but I can see Alice being a great tool for middle school and high school students as well.
I think the Alice Team did a great job not only teaching us about Alice, but also in constantly supporting and updating the program to make it better and easier for teachers to use!