lecture 11 alice project deliverable 1: extension to midnight! midterm next class – midterm review...

31
Lecture 11 • Alice Project Deliverable 1: Extension to Midnight! • Midterm next class – Midterm review 4-6pm WED Pepper Canyon Hall 106 – Red scantron (1/2 page) at bookstore (get 2) and pencil – Closed book, no cheat sheet – Sample midterm: PeerWise and posted “explain” – DOES NOT COVER Chapter 7 – Seated by random seat number as you walk in the door • Get assignment in lobby • If you have an AFA for midterm, please use course communication form: put “AFA MIDTERM” in comment area

Upload: jemimah-barrett

Post on 24-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Lecture 11

• Alice Project Deliverable 1: Extension to Midnight!• Midterm next class– Midterm review 4-6pm WED Pepper Canyon Hall 106– Red scantron (1/2 page) at bookstore (get 2) and pencil– Closed book, no cheat sheet– Sample midterm: PeerWise and posted “explain”– DOES NOT COVER Chapter 7– Seated by random seat number as you walk in the door

• Get assignment in lobby

• If you have an AFA for midterm, please use course communication form: put “AFA MIDTERM” in comment area

Deliverable 2:Due beginning of Lab next week!

• Fix up storyboards (expand, change, etc. as needed)

• Implementation Strategy Diagram (what methods call what other methods?)

• Background Scenes created with objects in them

• Methods "created" with comments inside about what goes on there– The actual code you can fill in during lab

How To Study For Exams in CSE3(also redo homeworks and labs (or at least review) )

• Re-Take Clicker questions (not just “review” them)– Use PeerWise, read and re-phrase for yourself an

explanation• Practice writing down your explanation, use the sample

midterm as a guide

• Midterm Review with Sarah– Wed, 4-5:50pm– Pepper Canyon Hall, 106– Bring specific questions you want her to review…• E.g., their name on PeerWise…

You will need a red half-page scantron -- bookstore

What is the BEST description of how many times a while loop executes?

A. Some fixed number of times that the programmer can determine before the code runs

B. Some fixed number of times that can be calculated with a function

C. Some variable number of times that is determined by the distance of one object to another

D. Some variable number of times that programmer cannot determine before the code runs

What loop header would keep a shark swimming after a goldfish until he was within 0.5 meters behind the goldfish?

We change the while loop Boolean expression controlling the chase to this

What does it do (when will the loop iterate)?

A. Chase until the goldfish turns blueB. Chase until the goldfish turns a color other

than blueC. Chase until the shark gets close

Bunny Square Dance

• We want to direct the bunny to hop in a square pattern. The “length” of each side of his square should be 5 hops.

• Here’s the structure of our code, what numbers would you put in for each missing number?

Outer Loop count Inner Loop count Turn parameterA 4 5 .25B 4 5 1C 5 4 .25D 5 4 1

Goal: Hop in a square, 5 hops on each side

What does this code do?A. Makes the guy move “up close” to the girlB. Makes the guy move toward the girl, but not all the way

toward herC. Makes the guy move toward the girl and then go on past herD. I don’t know

The primary benefit of using a function to control the number of times a loop runs is…

A. The function can be used to make the loop run a fixed number of times

B. The state of the world can be used to calculate how many times a loop should run

C. The function can be used to allow the loop to run forever.

D. I don’t know

STOP, ASKPARAPHRASE

EXAMPLE

Games: Infinite loops and events

• Set up:– A bunny, a cat, and a hawk all “move” in “squares” 2.5 meters on a

side• moving forward .5 meters at a time

– An anvil hovers above their head• Game:

– When I click on an animal, the anvil drops down and “smooshes” them (they go invisible) then the anvil returns to it’s place so I can click again

– An infinite loop is used to keep all the animals continuing to move in their square patterns

• The question I will ask you is about the nested loops controlling this game (how many times does each run)

In the nested loops that control this code how many times should the loops run?

Outer Loop Inner LoopA 5 5B 5 InfiniteC Infinite 5D Infinite Infinite

After I click on an object (say the bunny) and call goBye that object stops moving around

A. TrueB. FalseC. I don’t know

Section 7.2 While (Indeterminate) Loops

• While loops execute some number of times that we cannot determine before the code runs“Programming allows a person to think

more logically, thinking in order and debugging allows the user to gain valuable problem solving skills.

Aspiring to go to law school, thinking logically is extremely important and I

think this has helped.”

If I have a chase that should keep going on until the goldfish turns blue

(pretend he turns blue after fleeing for a certain amount of time)

what condition should we use to control the while loop in the chase method?

D) A and CE) B and C

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)

When should we keep going?e.g. while loop expression true

(P1: wind up, P2: jet pack)

Cases A B C DP1, P2 outside T T T TP1 inside, P2 outside T T T FP2 inside, P1 outside T T F FP1, P2 inside T F F F

Which while loop header (tile) would you use to control the “going”?

This would STOP the game (evaluate to false) when

A. Both penguins must be close to the stop signB. Either penguin is close to the stop signC. Neither penguin is close to the stop signD. I don’t know

What does the other one do?

Cases E1 E2 Evaluates To (keep playing while true)

P1, P2 outside T TP1 inside, P2 outside

F T

P2 inside, P1 outside

T F

P1, P2 inside F F

Truth Table for OR logical operator

Cases E1 E2 Evaluates To(keep playing while true)

P1, P2 outside T TP1 inside, P2 outside

F T

P2 inside, P1 outside

T F

P1, P2 inside F F

Truth Table for AND logical operator

Let’s look at the code I wrote:

The jet pack penguin (P2) can move forward on a <- event when

A. Neither penguin is close to the stop signB. The windup penguin is close, but the jet pack penguin

isn’tC. The jet pack penguin is close, but the windup penguin

isn’tD. Any time (any possible situation of TT, TF, FT, FF)

Both penguins stop moving when someone “close”

To fix this we’d need to create how many of the following?

1. Method for <- event handler2. Method to be called by the windUpAndGo

method3. If statement in <- event handler4. If statement in penguin move method5. If statement in windUpAndGo method

Which if statement would you want and why?Allow to move when…

C) Both A and BD) Neither A nor BE) I don’t know

Let’s Build This…

2 meters from the stop sign? That seems far!

(3-D object representation trickiness)

• Stop Sign center: in middle SIGN• Penguin center: in middle of FEET• I want to control stopping by distance of

penguin center from BASE of stop sign!• Use math – again

SQRT( c*c – b*b)SQRT (penguin.distanceTo(stopSign) * penguin.distanceTo(stopSign) – stopSign.height * stopSign.height)