From the storyboard to the code, programing with Alice

Curriculum design of the course “From the storyboard to the code: programing with Alice” (Introductory course for 4th graders at elementary school). Office of Youth Preparation on the Programs for Talented Youth, Arizona State University. Tempe, AZ, US. February – March 2010.



Course Description

Today technology is embedded throughout our lives. It is in our cars, at school, and in our home. Technology involves both incredible hardware and remarkable software.
In this course students will learn an object-oriented programming tool called Alice to create software applications. Students will learn how to program using 3D graphics, logical and algorithmic thinking, and the visual environment to create their own story. As any tool, Alice has its own components and rules that students will become familiar with. If you are interested in programming, this is the first step to learning other programming languages such as Java, C++, Python and Ruby.
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 tool designed to be a student’s first exposure to object-oriented programming. It allows people 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 we 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 us to immediately see how our animation programs run.

Course Goals

At the end of this course the students will be able to:

• Understand the basics of computer programming.
• Understand the object-oriented programming paradigm: what objects means for a computer?
• Work with Alice virtual worlds and use 3D models inside of them.
• Use storyboards to design virtual worlds.
• Use the Alice 3D interface to get alive a storyboard.
• Identify the structure of a program code.
• Use different types of data: numbers, Strings, boolean values, lists and arrays.
• Identify and use the control structures for selection and repetition.
• Learn to organize programs by creating methods.
• Handle events to create interactive programming.

Course Structure

This course comprises fifteen (15) sessions of three hours each. These fifteen sessions will be covered during three weeks (five lessons per week). The material for the lessons includes: a document with the lesson plan and slides to help the instructor with the lesson. Some lessons have homework. This is indicated in the Closure section. And there is provided the homework sheet and the solution of the homework. As part of the material provided there is the pre and pos test. There is also provided the solution of this test. Beside these test, there are two quizzes along the course. As part of the material of that particular lessons a quiz is provided and the answer of it too. The lesson plan for those two lessons includes the information about the quiz. These quizzes are planned as a first activity on each Friday during the two first weeks.
As part of the goal of the course, students are going to develop a project. This is an open project, by this we mean that will be the students who define the content of the project. The students will be working in the project during the three weeks. There is a recommended outline/rubric for the project. This includes the key points to be sure that each project has.


These are the slides of the lesson one. Since we create this material for ASU office, I am only sharing here some slides of lesson one as an example of the course content.