alice and algorithms chapter 1 part 1 1-1. reasons to program the joy of programming to create a...

16
Alice and Algorithms Chapter 1 Part 1 1-1

Upload: antonia-wells

Post on 05-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

Alice and Algorithms

Chapter 1 Part 1

1-1

Page 2: 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

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

Page 3: 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

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

Page 4: 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

Alice Examples

Example Alice worlds Demonstration video

1-4

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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?

Page 11: 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

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

Page 12: 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

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

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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