Alice in Legoland
St. Gabriel School, Archdiocese of Chicago
IIT Research Mentor: Dr. Cindy Hood
Graduate Assistant: Rangamani Srikrishnan
This material is based upon work supported by the National Science Foundation under grant No.
EEC-0502174. Any opinions, findings, and conclusions or recommendations expressed in this
material are those of the author(s) and do not necessarily reflect the views of the National Science
• Computing - Science and Language Arts
• Developed for Grade Levels: 5 - 8
• Five class periods (40 minutes each)
To introduce to teachers computer programming and other
computing concepts through the use of LEGOs, as well
as the computer software Alice so that they may apply
these concepts into their classroom curriculum.
STATE GOAL 3: Write to communicate for a variety of purposes
B. Compose well-organized and coherent writing for specific purposes and audiences.
3.B.3a Produce documents that convey a clear understanding and interpretation of ideas and information
and display focus, organization, elaboration and coherence.
C. Communicate ideas in writing to accomplish a variety of purposes
3.C.2b Produce and format compositions for specified audiences using available technology.
STATE GOAL 5: Use the language arts to acquire, assess and communicate information.
A. Locate, organize, and use information from various sources to answer questions, solve problems and
5.A.2b Organize and integrate information from a variety of sources (e.g., books, interviews, library
reference materials, web-sites, CD/ROMs).
STATE GOAL 11: Understand the processes of scientific inquiry and technological design to investigate questions,
conduct experiments and solve problems.
A. Know and apply the concepts, principles and processes of scientific inquiry.
11.A.3d Explain the existence of unexpected results in a data set.
11.A.2e Report and display the results of individual and group investigations.
11.A.3f Interpret and represent results of analysis to produce findings.
B. Know and apply the concepts, principles and processes of technological design.
11.B.3a Identify an actual design problem and establish criteria for determining the success of a solution.
11.B.3e Evaluate the test results based on established criteria, note sources of error and recommend
• Computer books (Learning to Program with Alice
by Dann, Cooper, and Pausch)
• Computer program Alice
• Programming concepts
• Levels of language
• Computer programming is really just using fundamental ideas in various
• Most computers understand only about 100 different instructions.
• Therefore, learning how to think about arranging a sequence of instructions to
carry out a task (how to design a program) is probably the most valuable part of
learning to program.
Do Computers Think?
• The CPU is the “brain” of the computer
• Like the human brain the CPU processes signals and sends
commands to other parts of the “body”
• However the CPU is only capable of processing and
commanding according to its design – it is not capable of
independent thought or reasoning
• The CPU is designed to process instructions
• Instructions are structured in a specific manner so that the
CPU can understand them
• A collection of instructions is called a program
• The CPU executes a program by sequentially processing the
Fetch - Decode - Execute
The CPU processes a program by:
– First, fetching an instruction
– Then decoding it to translate it into a language the
– And finally executing it or performing the specified
• The CPU “speaks” a language of 0’s and 1’s (binary) known as
• We have created a simple language out of 1x1 Lego bricks that is
somewhat easier for us to understand
• Each instruction consists of 6 bricks
• Our CPU is designed to decode each brick based on its color and
• Our language allows the CPU to translate the 6-brick instruction into
some meaningful task or tasks
• In our first exercise, each team will play the role
of the CPU
• You will be given a program and you must:
– fetch instructions one at a time
– decode each according to the rules of our language
– and execute the specified task(s)
Objectives for Exercise #1
An appreciation for the simplicity of the CPU’s
– The CPU simply processes, it doesn’t think
– Decoding is tedious but the CPU has no such emotion
so it can handle (lots of) it
High Level Languages
• Our CPU understands the simple Lego-based
• We can continue to abstract higher-level
concepts into a more sophisticated language
• In our second exercise, you will play the role of a
• Using our language, you will build a program to
instruct the CPU to perform a series of tasks (a
Objectives for Exercise #2
• An appreciation for the delicate nature of
– Simple errors can have disastrous results
• An understanding of the limitations of our
language and a sense of how to expand it
How are video games developed and
How does a machine know what to do and
when to carry out tasks?
• Space Shuttles
How does a space shuttle launch?
• Visual 3-D World
• Animation = Higher Interest
• You are the director or your own movie/story
• Higher level language with computer concepts
Objective of Alice
The focus of the Alice project is to provide the best possible
first exposure to programming for students ranging from
middle schoolers to college students.
Welcome to the Wonderful World of Alice! 50 points
Follow these instructions and you’ll be celebrating your grade with a tea
party of your own:
1. Write a well thought out story that stars the objects given to you in the software
2. Remember, you are the director - it is your job to give these object action and voice.
3. Include some of your newly learned computer programming concepts (ideas) such
as sequential processing or conditional execution. For example, if you want your
space shuttle to launch then you better have an astronaut to navigate.
4. Pay attention to what was easy for you to work with and what was not.
5. Most of all, have fun with this! Create a virtual world that excites you.
Match the terms in the box below to their definitions.
a. Conditional execution d. object-oriented programming
b. Looping e. reductionism
c. Function f. sequential processing
1. This is a list of instructions.
2. A question is known as this, to compute a result.
3. This consists of “ifs”. If it’s raining, take an umbrella. _________
4. This is breaking things up into smaller pieces to accomplish the big picture.
5. This is repeating behavior. For example, snap you finger 3 times. _________
6. A type of programming that is based on the use of objects, such as Alice. Learning
how to think about arranging a sequence of instructions to carry out a task is
probably the most valuable part of learning to program.
- Discuss computing and its origin. Who developed
computer programming? Discuss programming
- Students may research numerous leaders in the
computer science field such as Grace Hopper and Ada
Lovelace. Papers can be written in the first person with
costumed presentations to follow.
1. How do LEGOs represent computers and/or computer programming?
2. What was challenging about the LEGO project?
3. How does the world of Alice represent computers and/or computer
4. What would happen if Alice was sold to the public, or any other computer
program for that matter, without being tested first? What if your program
was bugged? What if your new program didn’t work? As a consumer, how
would you feel?
5. What exactly is computer programming? What does it consist of?
6. Who developed computer programming?
• Computer program Alice
• Instructional handouts
• Decode-Encode worksheet
• Fundamental Ideas Handout
• Students will be assessed through a series of
activities that involve Alice, LEGO bricks,
possible quizzes, discussion,story writing, and a
• Week 2: Rangamani and I will continue working
in the lab with the program Alice.
• Week 3: Rangamani and I will work with Dr.
Hood on developing the LEGO module.
• Week 4: Present progress report
• Week 5: Refining/Constructing module and
• Week 6: Finish module - Rehearse presentation
• Week 7: Present module at the RET Workshop