Transcript Chapter 1
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
o
course does same thing
Helps problem solving skills
Finding
answer to question
Determine how to perform a task
Alice
A modern programming tool
o
o
3-D graphics
3-D models of objects
Animation
o
o
People, animals, fantasy creatures, vehicles and backgrounds
Objects can be moved around a 3D virtual world
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
Alice Examples
Example Alice worlds
Promotion video
1-4
Origination of Alice
Named in honor of mathematician Charles
Lutwige Dodson
o
o
Was able to do complex math and logic
Knew he needed to make things for learner
Simple
Fascinating
Pen name was Lewis Carroll who wrote
o
o
Alice in Wonderland
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 animations
o
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 task
o
Instructions must be carefully written to follow
a logical sequence
That
is key – you think of logical sequence you
want computer to follow
Running or executing program – when
computer is performing instructions
1-9
Algorithms
Algorithm
o
o
Set of well-defined logical steps
Must be performed in order to perform a task
• 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?
1-10
Algorithms
Algorithms are understandable by humans
(natural language)
Computers understand machine language
not natural language
0110001001101100011000010110
Blah
1000001000000110001001101100
Blah
011000010110100000100000
Blah
0110001001101100011000010110
1000
1-11
Programming Languages
Programming languages are converted to machine
language by
o
o
Compiler – Instructions converted before executing
program
Interpreter – Each instruction is individually converted
during execution, Ex: Alice
Starting
…01010011011101000110000101110010011101000110
1001011011100110011100100000
out
…011011110111010101110100
With
…0111011101101001011101000110100000100000
Alice
…0100000101101100011010010110001101100101
1-12
Programming Languages
Operators
o
+ - * /
o
Perform arithmetic and other functions on data
Syntax
o
o
Set of rules that must be followed
Similar to the set of rules that are followed when people
speak a natural language
Program or code
o
o
Consists of keywords, operators, punctuation arranged in
proper logical sequence
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
Homework
Describe the scene of two volleyball players on
opposite sides of a volleyball net
Write an algorithm to have one player serve the
ball to the other
Have the other 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 server at same time as ball moves
1-16