Integrating Alice 3 into a Java course curriculum
By Eric Brown

In our experience in teaching with Alice 3 at Carnegie Mellon (our course was for non-majors), we tried several approaches.

  1. All Alice all the time for the first half of the course, and then a complete transition to nothing but Java. 
    • We found that the students believed that they were experiencing two different courses, and it was hard for them to make the connection that the concepts that they had learned in Alice were the same concepts that we expected them to learn in Java. 
    • Time was also an issue. (Isn’t it always?) We spent more time in Alice than we had planned, really crunching the time the students had with Java. 
    • Also, we did not factor in as well as we should have the time it took the students to get comfortable with the NetBeans IDE.
  2. We tried an approach in which we  essentially taught Alice and taught Java side by side. Teach a concept in Alice, and then jump into Java right away
    • We found this muddied the water too much for the students. 
    • They never developed clarity and comfort with the concepts, the Alice animation principles, the IDE, the course in general.
  3. The approach that worked best for us was to spend the first ~ 4 weeks introducing Alice and some fundamental ideas (up to writing methods with parameters for objects, using functions.) We then introduced Java and for the rest of the course we would introduce a topic in Alice, spend some time with it, then explore the topic in Java. The time we spent on a topic in Alice would diminish, so that by the end, we would show an example of a topic in Alice, and jump immediately to Java.
    • This seemed to allow the students time to settle in with Alice, the animation of the models and the Alice IDE, 
    • The transition to the NetBeans IDE also seemed to be smoother 
      • but we also have to factor in our experience gained in helping students transition to NetBeans in earlier semesters.
    • This approach also seemed to 
      • provide the students the most clarity and understanding of the topics, 
      • allow the students to develop a better understanding of the connection between Alice 3 and Java, 
      • allow the students to figure out how to best use Alice for themselves to explore and deepen their understanding of the Java concepts.
  4. We are also aware of approaches in which instructors have created scenes in Alice 3, and had the students work with those scenes right from the beginning in NetBeans, not using the Alice 3 IDE at all, or minimally. We did not try this approach, and so cannot comment on its effectiveness.
We are looking forward to hearing about other experiences and approaches.

CMU