ap exam big idea 4 algorithms

38
L.O: STUDENTS WILL REVIEW BIG IDEA 4: ALGORITHMS DO NOW: READ PAGE 49-54

Upload: lexume1

Post on 22-Jan-2018

57 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Ap exam big idea 4 algorithms

L.O: STUDENTS WILL REVIEW BIG IDEA 4:

ALGORITHMS

DO NOW:

READ PAGE 49-54

Page 2: Ap exam big idea 4 algorithms

EK 4.1.1A Sequencing, selection, and iteration are building blocks of algorithms

Page 3: Ap exam big idea 4 algorithms

EK 4.1.1B Sequencing is the application of each step of an algorithm in the order in

which the statements are given.

Page 4: Ap exam big idea 4 algorithms

EK 4.1.1C Selection uses a Boolean condition to determine which of two

parts of an algorithm is used.

Page 5: Ap exam big idea 4 algorithms

EK 4.1.1D Iteration is the repetition of part of an algorithm until a condition

is met or for a specified number of times.

Page 6: Ap exam big idea 4 algorithms

EK 4.1.1E Algorithms can be combined to make new algorithms.

Page 7: Ap exam big idea 4 algorithms

EK 4.1.1F Using existing correct algorithms as building blocks for

constructing a new algorithm helps ensure the new algorithm is correct

Programmers use what they know WORKS to make

something new that they know will work TOO!

Page 8: Ap exam big idea 4 algorithms

EK 4.1.1G Knowledge of standard algorithms can help constructing new

algorithms

You can use programs that already exist, are commonly used and commonly known to create NEW programs!

Page 9: Ap exam big idea 4 algorithms

EK 4.1.1H Different algorithms can be developed to solve the same problem.

There is more than one way to “skin a cat”.

There is more than one way to solve the same problem.

There is more than one way of solving the same computing challenge!

Page 10: Ap exam big idea 4 algorithms

EK 4.1.1I Developing a new algorithm to solve a problem can yield insight into the

problem.

Sometimes a new way of solving a problem creates a NEW WAY of seeing the problem!

Page 11: Ap exam big idea 4 algorithms

EK 4.1.2B Natural language and pseudocode describe algorithms so that

humans can understand them.

Page 12: Ap exam big idea 4 algorithms

EK 4.1.2C Algorithms described in programming languages can be executed

on a computer.

Page 13: Ap exam big idea 4 algorithms

EK 4.1.2D Different languages are better suited for expressing different algorithms.

Page 14: Ap exam big idea 4 algorithms

EK 4.1.2E Some programming languages are designed for specific domains and are better for expressing algorithms in those

domains.

Page 15: Ap exam big idea 4 algorithms

EK 4.1.2F The languages used to express an algorithm can affect characteristics such as clarity or readability but not

whether an algorithmic solution exists.

These words all say the same

thing, but some

languages are clearer and more readable

Page 16: Ap exam big idea 4 algorithms

EK 4.1.2G Every algorithm can be constructed using only sequencing,

selection, and iteration.

Page 17: Ap exam big idea 4 algorithms

EK 4.1.2H Nearly all programming languages are equivalent in terms of being

able to express any algorithm.You can say same word, “hello” in any human language,

You write the same computer program in nearly any computer language.

Page 18: Ap exam big idea 4 algorithms

EK 4.1.2I Clarity and readability are important considerations when

expressing an algorithm in a language.

Just like handwriting should be clear and readable, expressing an algorithm should be clear and readable too!

Page 19: Ap exam big idea 4 algorithms

EK 4.2.1A Many problems can be solved in a reasonable time.

Page 20: Ap exam big idea 4 algorithms

EK 4.2.1B Reasonable time means that as the

input size grows, the number of steps the algorithm takes is proportional to the square (or cube, fourth

power, fifth power, etc.) of the size of the input.

Both are solvable but one can be solved in a reasonable time because it has less steps

Page 21: Ap exam big idea 4 algorithms

EK 4.2.1C Some problems cannot be solved in a reasonable time, even for

small input sizes.

Page 22: Ap exam big idea 4 algorithms

EK 4.2.1D Some problems can be solved but not in a reasonable time. In these

cases, heuristic approaches may be helpful to find solutions in reasonable

time.

In computer science, a heuristic algorithm is a problem solving method that uses incomplete information to derive a

potentially inaccurate or imprecise solution.

Page 23: Ap exam big idea 4 algorithms

EK 4.2.2A A heuristic is a technique that may allow us to find an approximate

solution when typical methods fail to find an exact solution.

The “ perfect” is the enemy of the good enough. Heuristics is about finding a good enough solution that

works. NOT a PERFECT solution that might take TOO LONG to find!

Page 24: Ap exam big idea 4 algorithms

EK 4.2.2B Heuristics may be helpful for finding an approximate solution more

quickly when exact methods are too slow.

The “ perfect” is the enemy of the good enough. Heuristics is about finding a good enough solution that

works. NOT a PERFECT solution that might take TOO LONG to find!

Page 25: Ap exam big idea 4 algorithms

EK 4.2.2C Some optimization problems such as “find the best” or “find the

smallest” cannot be solved in a reasonable time but approximations to

the optimal solution can.The “ perfect” is the enemy of the

good enough. Heuristics is

about finding a good enough solution that works. NOT a

PERFECT solution that might take TOO LONG to

find!

Page 26: Ap exam big idea 4 algorithms

EK 4.2.2D Some problems cannot be solved using any algorithm.

ALAN TURING along with his colleague ALONZO CHURCH

through the HALTING THEOREM proved that

some computer problems can’t ever be solved. Example: you

can’t find every infinite loop in a program

Page 27: Ap exam big idea 4 algorithms

EK 4.2.3A An undecidable problem may have instances that have an algorithmic

solution, but there is not algorithmic solution that solves all instances of the

problem.

Alonzo and I proved that Its impossible to create a

computer program that solves EVERY problem!

Page 28: Ap exam big idea 4 algorithms

EK 4.2.3B A decidable problem is one in which an algorithm can be constructed to answer "yes" or "no" for all inputs (e.g.,

"is the number even?").

Page 29: Ap exam big idea 4 algorithms

EK 4.2.3C An undecidable problem is one in which no algorithm can be constructed that always leads to a correct yes-or-no

answer.

Page 30: Ap exam big idea 4 algorithms

EK 4.2.4A Determining an algorithm’s efficiency is done by reasoning formally or

mathematically about the algorithm.

Page 31: Ap exam big idea 4 algorithms

EK 4.2.4B Empirical analysis of an algorithm is done by implementing the algorithm and running it on different

inputs.

To UNDERSTAND HOW a program WORKS. RUN it!

Trying out different numbers.

Page 32: Ap exam big idea 4 algorithms

EK 4.2.4C The correctness of an algorithm is determined by reasoning formally or

mathematically about the algorithm, not by testing an implementation of the

algorithm. HEY THIS EQUAL SIGN

DOESN’T BELONG HERE!

Page 33: Ap exam big idea 4 algorithms

EK 4.2.4D Different correct algorithms for the same problem can have different

efficiencies.

IN COMPUTER SCIENCE THERE ARE MANY WAY TO SOLVE THE SAME PROBLEM, BUT SOME SOLUTIONS ARE BETTER THAN OTHERS.

Page 34: Ap exam big idea 4 algorithms

EK 4.2.4E Sometimes, more efficient algorithms are more complex.

SOMETIMES, THE COMPLACTED SOLUTION IS BETTER SOLUTION….

Page 35: Ap exam big idea 4 algorithms

EK 4.2.4F Finding an efficient algorithm for a problem can help solve larger

instances of the problem.

Sometimes, when you find a good algorithm that SOLVES one problem, MIGHT be able to use it to

solve FUTURE problems…

Page 36: Ap exam big idea 4 algorithms

EK 4.2.4G Efficiency includes both execution time and memory usage.

Fast & efficient

Page 37: Ap exam big idea 4 algorithms

EK 4.2.4H Linear search can be used when searching for an item in any list; binary search can be used only when the list is

sorted.

Page 38: Ap exam big idea 4 algorithms

Complete the algorithm questions