50 likes | 87 Views
What Is An Algorithm? (Al Gore Rhythm). A computer is just a glorified toaster…. It will mindlessly do whatever you tell it to do….
E N D
What Is An Algorithm? (Al Gore Rhythm) A computer is just a glorified toaster… It will mindlessly do whatever you tell it to do… In order to get it to do something sophisticated, a programmer needs to plan the sequence of steps that the computer must take in order to accomplish a meaningful task… In computer science, the sequence of steps for getting a task accomplished is called an algorithm! Chapter 0 - Introduction
Algorithm Example: Who’s Older: Person A or Person B? • Step 1: Compare Person A’s birth-year to Person B’s birth-year • If A’s birth-year is less, then the task is finished: A is older! • If B’s birth-year is less, then the task is finished: B is older! • If A & B have the same birth-year, go to Step 2… • Step 2: Compare Person A’s birth-month to Person B’s birth-month • If A’s birth-month is less, then the task is finished: A is older! • If B’s birth-month is less, then the task is finished: B is older! • If A & B have the same birth-month, go to Step 3… • Step 3: Compare Person A’s birth-day to Person B’s birth-day • If A’s birth-day is less, then the task is finished: A is older! • If B’s birth-day is less, then the task is finished: B is older! • If A & B have the same birth-day, then the task is finished: TIE! Chapter 0 - Introduction
The Origins of Computing Machines… The Abacus Babbage’s Analytical Engine Aiken’s Mark I Human-Operated Storage System Programmable Via Mechanical Gears Electro-mechanical Computer Chapter 0 - Introduction
The Evolution of Computer Science… What kinds of problems can be solved algorithmically? What kinds of problems can be solved algorithmically? How do we determine an algorithmic solution to a problem? How do we determine an algorithmic solution to a problem? How do we analyze the efficiency of an algorithm? How do we analyze the efficiency of an algorithm? ALGORITHMS What kinds of problems cannot be solved algorithmically? What kinds of problems cannot be solved algorithmically? How do we translate a conceptual algorithm into a working program? How do we translate a conceptual algorithm into a working program? How can the nature of algorithmic solutions be used to develop better machines? How can the nature of algorithmic solutions be used to develop better machines? Chapter 0 - Introduction
Computer Technology and Society How do we balance the issues of computer security and computer privacy? How do we address the “digital divide” caused by the expense of technology? How can computers help us overcome problems in health care and education? How can we attract women and minorities to the field of computer science? When should new technology be embraced and old technology considered obsolete? At what point does our reliance on technology become overdependence? Chapter 0 - Introduction