alice and algorithms chapter 1 part 1 1-1. reasons to program the joy of programming to create a...
TRANSCRIPT
Alice and Algorithms
Chapter 1 Part 1
1-1
Reasons to Program
The joy of programming To create a tool To use your creativity abilities For non programmers
o Learn a new way to think Drawing course does same thing
o Helps problem solving skills Finding answer to question Determine how to perform a task
Alice
A modern programming toolo 3-D graphicso 3-D models of objects
People, animals, fantasy creatures, vehicles and backgrounds
Animationo Objects can be moved around a 3D virtual worldo Similar to a video game or simulation
CD in book has Alice worlds from chapters Can download Alice 2.4 from the web
www.alice.org
Origination of Alice Named in honor of mathematician Charles
Lutwige Dodsono Was able to do complex math and logico Knew he needed to make things simple and
fascinating for learner Pen name was Lewis Carroll who wrote
o Alice in Wonderlando Through the Looking Glass
Alice Programming in Alice is like being a movie
director, puppeteer, or choreographer in a 3D world
You create programs by dragging words and objects to editor with mouse
Kinds of Animations
Two kinds of animationso Movie
Can tell a story Passively watch animation
o Interactive Active user clicks on mouse or types on
keyboard User actions are called events
Programming Terminology
Algorithm – step by step structure to solve a problem
Program – implementation of algorithm using a programming language
Instruction – an action to be performed Pseudo code – loose set of instructions
not tied to any program environment
Computer
A device that follows instructions for manipulating and storing data
Computer program – set of instructions that computer follows to perform a tasko Instructions must be carefully written to
follow a logical sequenceThat is key – you need to think of the logical
sequence you want the computer to follow
Running or executing program – when computer is performing instructions
1-9
Algorithms Algorithm
o Set of well-defined logical stepso Must be performed in order to perform a task
1-10
• Example: Making a cup of instant coffee– Remove lid from coffee jar
– Put lid down on counter
– Remove 1 tsp of coffee from jar
– Place that coffee in a cup
– Add 8 oz of boiling water to cup
– Use teaspoon to stir water and coffee mixture
– Stir 10 revolutions
– Remove teaspoon from cup and place on counter
Is this adequate?
Is it detailed enough?
Is anything ambiguous?
Algorithms
Algorithms are understandable by humans (natural language)
Computers understand machine language not natural language
1-11
Blah
Blah
Blah
011000100110110001100001011010
000010000001100010011011000110
00010110100000100000
011000100110110001100001011010
00
Programming Languages
Programming languages are converted to machine language byo Compiler – Instructions converted before
executing programo Interpreter – Each instruction is individually
converted during execution, Ex: Alice
1-12
Starting
…
01010011011101000110000101110010011101000110100101
1011100110011100100000
out
…011011110111010101110100
With
…0111011101101001011101000110100000100000
Alice
…0100000101101100011010010110001101100101
Programming Languages
Operatorso + - * / o Perform arithmetic and other functions on data
Syntaxo Set of rules that must be followedo Similar to the set of rules that are followed when
people speak a natural language Program or code
o Consists of keywords, operators, punctuation arranged in proper logical sequence
o Save, compile, link, executable program is produced
1-13
Checkpoint
What is a computer? What is an algorithm? What is a program? What language is an algorithm written
in? What is the only language computers
understand? Why were programming languages
invented?1-14
Class Exercise
Write an algorithm that explains how to make a Peanut Butter and Jelly sandwich
Assume the person does not know anything about how to make sandwiches
1-15
Class Exercise Describe the scene of two volleyball players on
opposite sides of a volleyball net Write algorithm to have one player serve the ball to
another Have the other player jump up with arms raised to
block the ball Have the ball fall to the ground across from the net Make sure you reset the players to the resting
position Reset the server at same time as ball moves
1-16