300 likes | 385 Views
As you come in…. Sign in (in back) and pick up Badge Name Card – write your first name LARGELY on back Log in: Launch/Start Alice Any questions? (of any kind) . Flow of Control: How Computer Programs are “Executed”. Sequential execution (Do In Order) Parallel execution (Do Together)
E N D
As you come in… • Sign in (in back) and pick up • Badge • Name Card – write your first name LARGELY on back • Log in: • Launch/Start Alice • Any questions? (of any kind)
Flow of Control: How Computer Programs are “Executed” • Sequential execution (Do In Order) • Parallel execution (Do Together) • Conditional execution (if/else statement) • Powerful for creating programs that don’t ALWAYS do the same thing • Repeated execution (Counted Loop) • Powerful for having the computer repeat our instructions multiple times • TODAY: While loop: • Repetition not defined by a specific number (a count) • Controlled by Boolean expression (true or false, keep looping?)
Flow of Control: How Computer Programs are “Executed” • Sequential / Parallel execution • Conditional execution (if/else statement) • Repeated execution (Counted Loop, While loop)
Practice:“In Class Clicker Discussion Questions” Pre-Class preparation: Work Through Online Module Answer Embedded Questions Reflecting Questions (as quiz?) 1) Individual Thinking, Vote 2) Group Discussion (with 1-2 other students) 3) Group Vote 4) Class-Wide Discussion: a) call on groups to share thinking b) explain yourself (see comments in PPT) OR show video of my explanation
What does this code do? • Assume that you have an event so that when you click on an igloo it calls a my first method and sends the igloo as a parameter • Next we’ll show youmy first method and askyou what it does
Feedback Paraphrase Justify What does this code do?When blue, red or green… World.my first method
How many of the following are true? • When the igloo is blue, says Ice Cold! • When the igloo is red, says Hot! • When the igloo is blue, says Ice Cold! AND then says Try again! • When the igloo is green, nothing happens
blue, says Ice Cold! red, says Hot! blue, says Ice Cold! AND then says Try again! green, nothing happens Feedback Paraphrase Justify • 1 B) 2 C)3 D) 4 E)
BTW: Online Book: Nested Ifs • Interactive, Car drive toward clicked on magnet • But only if thing clicked on IS magnet (9.1-9.3) • Space Ship Take Off • But only if all balls are blue (9.4-9.5)
Flow of Control: How Computer Programs are “Executed” • Repeated execution (Counted Loop) • Powerful for having the computer repeat our instructions multiple times • TODAY: While loop: • Repetition not defined by a specific number (a count) • Controlled by Boolean expression (true or false, keep looping?)
Online Textbook: 10.5: Zombie Chases Lunchlady • Let’s go play the video… • Question: When should we “keep chasing”? • Until the zombie catches the lunchLady OR (said differently) • We should first add the condition that, while it is true, the statements to make the zombie and lunchlady move will repeatedly execute. This condition is: zombie is at least 1 meter from lunchLady. Let’s code it: Download from http://ce21sandiego.org/2013 Meeting 4: Module10.5TeacherStarter.a2w
Solution • Keep chasing/looping WHILE zombie is more than 1 meter from the lunchLady
Solution • Keep chasing/looping WHILE zombie is more than 1 meter from the lunchLady Except, yes, this is silly since he always catches her in 3 “steps”
Online Textbook 10.5 fixes this… • Random turn (0-1 revolution) • Random distance for lunchLady and zombie
Visualize in head… zombie LunchLady 1 meter
What “states” can we have? zombie zombie LunchLady LunchLady
What “states” can we have? zombie zombie LunchLady LunchLady 1) Should we keep looping? YES 2) Should we keep looping? NO 3) Write boolean expression that evaluates To TRUE for situation 1 and FALSE for situation 2
Hint to getting while loops right • Humans naturally think “until” • I’ll keep spending until I run out of money (balance <= 0) • I’ll keep dancing until I fall asleep • Computers use “while” loops – the opposite • I’ll keep spending while I still have money (balance > 0) • I’ll keep dancing while I am not asleep • While I have a dirty dish, I’ll keep washing dishes
Let’s have a race… • A • Wind up penguin (he just goes) • While loop with “walk and spin” inside it • Jet-pack penguin2 (controlled by <- event) • Moves forward .5 meters • Race to a stop sign (within 2 meters) • Whenever someone gets within 2 meters • Stop looping (going)
While loops in Alice tend to be used when… • You have a user controlled (hence, not predictable) event • So you don’t know when the user might • Click on an object • Type a key, • User types a number (pick a number between 1-10, etc. • You have (not predictable) actions controlled by, for example, random numbers • E.g. the lunchlady/zombie or fish/shark case
When should we keep going?e.g. while loop expression true(P1: wind up, P2: jet pack)
Which while loop header (tile) would you use to control the “going”?
Let’s Build the Code! • Download from http://ce21sandiego.org/2013 • Meeting 4: JetPackPenguinTeacherStart.a2w • Plan: • Explore object positions • Create event that moves jet pack penguin 0.5 meters whenever <space> is pushed.(Test) • SIMPLIFY: Create loop that makes windup penguin move repeatedly (forever), 0.35 meters (at same time as “walks” and windupKey “rolls” 0.25 revolutions) • CORRECT: change loop to have the game end (e.g. windup penguin stops walking) when either penguin “wins” (gets within 2 meters of stop sign)WHILE:_________________________________________
What does the other one do? This would STOP the game (evaluate to false) when • Both penguins must be close to the stop sign • Either penguin is close to the stop sign • Neither penguin is close to the stop sign • I don’t know
Useful tool: “Life points” • Use: to keep track of “points” in a game • 2 “cylinder” objects set on top of each other • Grey is “background” • Yellow is in “front” • Yellow moves down a bit each time “you lose a point” • The game is over when the yellow cylinder is • Distance to the ground >= cylinder height. • (So while not, game is ongoing…)
Coming Up… • Week 5: Compound Boolean Expressions and if statements and while loops • Week 6: Functions, Mathematical expressions, parameters, methods • Week 7: Functions, parameters, methods and events • Week 8: Lists