Alice in Legoland Alice in Legoland Denise McBroom 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 Foundation.
29
Embed
Alice in Legoland Denise McBroom St. Gabriel School, Archdiocese of Chicago IIT Research Mentor: Dr. Cindy Hood Graduate Assistant: Rangamani Srikrishnan.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Alice in LegolandAlice in LegolandDenise McBroom
St. Gabriel School, Archdiocese of Chicago
IIT Research Mentor: Dr. Cindy HoodGraduate 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 Foundation.
OverviewOverview
• Computing - Science and Language Arts• Developed for Grade Levels: 5 - 8• Five class periods (40 minutes each)
Objective:
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 purposesB. 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 purposes3.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 communicate ideas.
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
improvements.
BackgroundBackground
• Computer books (Learning to Program with Alice
by Dann, Cooper, and Pausch)• LEGOs• Computer program Alice• Programming concepts• Levels of language
Fundamental IdeasFundamental Ideas
• Computer programming is really just using fundamental ideas in various
combinations.
• 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?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
Instruction ProcessingInstruction Processing
• The CPU is designed to process instructions
• Instructions are structured in a specific manner so that the CPU can understand them
ProgramsPrograms
• A collection of instructions is called a program
• The CPU executes a program by sequentially processing the instructions
Fetch - Decode - ExecuteFetch - Decode - Execute
The CPU processes a program by:– First, fetching an instruction– Then decoding it to translate it into a language the
CPU understands– And finally executing it or performing the specified
task(s)
Our “Language”Our “Language”
• The CPU “speaks” a language of 0’s and 1’s (binary) known as
machine code• 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
position• Our language allows the CPU to translate the 6-brick instruction into
some meaningful task or tasks
Exercise #1Exercise #1
• 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 #1Objectives for Exercise #1
An appreciation for the simplicity of the CPU’s processing– 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 LanguagesHigh Level Languages
• Our CPU understands the simple Lego-based language
• We can continue to abstract higher-level concepts into a more sophisticated language
Exercise #2Exercise #2
• In our second exercise, you will play the role of a programmer
• Using our language, you will build a program to instruct the CPU to perform a series of tasks (a program)
Objectives for Exercise #2Objectives for Exercise #2
• An appreciation for the delicate nature of programming instructions– Simple errors can have disastrous results
• An understanding of the limitations of our language and a sense of how to expand it
InstructionsInstructions
InstructionsInstructions
InstructionsInstructions
InstructionsInstructions
Programming ExamplesProgramming Examples
•Video Games How are video games developed and
executed?
• MachineryHow does a machine know what to do and when to carry out tasks?
• Space ShuttlesHow does a space shuttle launch?
AliceAlice
• Visual 3-D World
• Animation = Higher Interest
• You are the director or your own movie/story
• Higher level language with computer concepts
Objective of AliceObjective 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.
Alice RubricAlice Rubric
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 Alice.
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.
Concept QuizConcept Quiz
Match the terms in the box below to their definitions._______________________________________________________________________a. Conditional execution d. object-oriented programmingb. Looping e. reductionismc. 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 pioneers.
- 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.
Discussion QuestionsDiscussion Questions
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 programming?
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?
MaterialsMaterials
• LEGOs
• Computer program Alice
• Instructional handouts
• Decode-Encode worksheet
• Fundamental Ideas Handout
AssessmentAssessment
• Students will be assessed through a series of activities that involve Alice, LEGO bricks, possible quizzes, discussion,story writing, and a pre-test/post-test.
Module Development Module Development PlanPlan
• 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.