Algorithm An algorithm, named after the ninth century scholar Abu Jafar Muhammad Ibn Musu Al- Khowarizmi, is defined as follows: An algorithm is a set.

Slides:



Advertisements
Similar presentations
Algorithms An algorithm is a finite sequence of instructions, logic, an explicit step-by-step procedure for solving a problem. Specific algorithms sometimes.
Advertisements

Lecture 2: Systems Engineering
How Are Algorithms Developed?
Theory of Computing Lecture 1 MAS 714 Hartmut Klauck.
COMPUTER PROGRAMMING I Understand Problem Solving Tools to Design Programming Solutions.
Chapter 1—Introduction Introduction C H A P T E R 1 [The Analytical Engine offers] a new, a vast, and a powerful language... for the purposes of mankind.
Flow chart and Algorithm. Announcement Exam One – Wednesday October 1st – 100 points – Mixture of short answer, problem solving, matching, and maybe a.
Chapter 2 - Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 2 - Problem Solving
INTRODUCTION TO PROGRAMMING
Algorithm –History Muhammad ibn Musa Al-Khwarizmi www -groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Al- Khwarizmi.html Book on arithmetic:
COEN 352 Data structures and Algorithms R. Dssouli.
ALGORITHMS CSC 171 LECTURE 1. What is “Computer Science”? What is “Science”? What is a “Computer”? What is “Computation”?
8 February How Computers Work: Algorithms The Internet.
Program Design and Development
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
ALGORITHMS CSC 171 LECTURE 1. What is “Computer Science”? What is “Science”? What is a “Computer”? What is “Computation”?
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Design & Analysis of Algorithms Introduction. Introduction Algorithms are the ideas behind computer programs. An algorithm is the thing which stays the.
LO: We’re learning to understand how computers solve problems!
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Lesson 1b: Computer Systems and Program Development CPS118.
Introduction to Programming Lecture 1 – Overview
Computer Programming TCP1224 Chapter 2 Beginning the Problem-Solving Process.
Algorithms Recipes for disaster?. Topics Covered Programming vs. problem solving What is an algorithm? Algorithm development common constructs (loops,
The Turing machine Olena Lastivka. Definition Turing machine is a theoretical device that manipulates symbols on a strip of tape according to a table.
PROGRAMMING. Objectives Define the term program List and explain the steps involved in developing a program.
Chapter 8 Problems Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Algorithms and Algorithm Analysis The “fun” stuff.
All you need to know about Al-Khwarizmi! MADE BY LIBBY.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Algorithms CS139 – Aug 30, Problem Solving Your roommate, who is taking CS139, is in a panic. He is worried that he might lose his financial aid.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Design & Analysis of Algorithms Lecture 1 Introduction.
4. The process specification (プロセス仕様) You will learn: (次の内容を学び) The concept of process specification (プロセス 仕様の概念) Notations for process specification (プロセス.
ALGORITHM List of instructions for carrying out some process step by step. A sequence of instructions which has a clear meaning and can performed with.
Algorithms & Flowchart
The Hashemite University Computer Engineering Department
Chapter 2 - VB 2005 by Schneider- modified by S. Jane '081 Chapter 2 - Problem Solving 2.1 Program Development Cycle 2.2 Programming Tools.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
1.  A step by step process to solve any problem is called algorithm.  Algorithm is a process which take some values as input and provide us output.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
ICT Computing. Aims of the session Overview of the new curriculum for computing What this means in school Support from ICT in Schools team.
Introduction To Algorithm and Data Structures Course Teacher: Moona Kanwal -Algorithm Design -Algorithm Analysis -Data structures -Abstract Data Type.
Introduction to Programming Lecture 1 – Overview
GC101 Introduction to computers and programs
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
ALGORITHMS CSC 171 LECTURE 1.
ALGORITHM Basic CONCEPTS of Basic Concepts of Algorithm
Introduction to Computer Programming
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Theory of Computation Turing Machines.
SME1013 PROGRAMMING FOR ENGINEERS
Chapter 2- Visual Basic Schneider
SME1013 PROGRAMMING FOR ENGINEERS
CSE 2010: Algorithms and Data Structures Algorithms
How Are Algorithms Developed?
Data Structures and Algorithms CSE 465
Introduction to Programming
Algorithm: Word comes from Arabic Author Abū ‘Abdallāh Muḥammad ibn Mūsā al-Khwārizmī Algorism Algebra: Kitab al-Mukhtasar fi Hisab al-Jabr wal-Muqabala.
Basic Concepts of Algorithm
Design and Analysis of Algorithms
Presentation transcript:

Algorithm An algorithm, named after the ninth century scholar Abu Jafar Muhammad Ibn Musu Al- Khowarizmi, is defined as follows: An algorithm is a set of rules for carrying out calculation either by hand or on a machine. An algorithm is a finite step-by-step procedure to achieve a required result. An algorithm is a sequence of computational steps that transform the input into the output.

An algorithm is the soul of a computer program. A code without an algorithm is like a missile without a radar. Like a body without a soul

Example-No: 01 Let's follow an example to help get an understanding of the algorithm concept. Let's say that you have a friend arriving at the airport, and your friend needs to get from the airport to your house. Here are four different algorithms that you might give your friend for getting to your home:airport The taxi algorithm: Go to the taxi stand. Get in a taxi. Give the driver my address. The call-me algorithm: When your plane arrives, call my cell phone.planecell phone Meet me outside baggage claim.baggage claim

Example-No: 01 The rent-a-car algorithm: Take the shuttle to the rental car place. Rent a car. Follow the directions to get to my house. The bus algorithm: Outside baggage claim, catch bus number 70. Transfer to bus 14 on Main Street. Get off on Elm street. Walk two blocks north to my house. All four of these algorithms accomplish exactly the same goal, but each algorithm does it in completely different way. Each algorithm also has a different cost and a different travel time.

Example-No: 02 The Classic Multiplication Algorithm 1. Multiplication, the American way: Multiply the multiplicand one after another by each digit of the multiplier taken from right to left.

Example-No: Multiplication, the English way: Multiply the multiplicand one after another by each digit of the multiplier taken from left to right.

History of Algorithm Algorithms have a long history and the word can be traced back to the 9th century. At this time the Persian scientist, astronomer and mathematician Abdullah Muhammad bin Musa al-Khwarizmi, often cited as “The father of Algebra”, was indirect responsible for the creation of the term “Algorithm”. In the 12th century one of his books was translated into Latin, where his name was rendered in Latin as “Algorithmi”.

Computer Program To make a computer do anything, you have to write a computer program.computer program To write a computer program, you have to tell the computer, step by step, exactly what you want it to do. The computer then "executes" the program, following each step mechanically, to accomplish the end goal. When you are telling the computer what to do, you also get to choose how it's going to do it. That's where computer algorithms come in. The algorithm is the basic technique used to get the job done.

Serial and Parallel Algorithms Algorithms may be divided into two primary groups: serial algorithms, which are designed for serial execution, wherein each operation is enacted in a linear order; and parallel algorithms, used with computers running parallel processors, wherein a number of operations are run parallel to each other. Parallel algorithms also exist in the natural world.

Expressing Algorithms Algorithms can be expressed in many kinds of notation, including natural languages, pseudocode, flowcharts, programming languages or control tables (processed by interpreters).natural languagespseudocodeflowcharts programming languagescontrol tables interpreters Natural language expressions of algorithms tend to be verbose and ambiguous, and are rarely used for complex or technical algorithms. Pseudo-code, flowcharts and control tables are structured ways to express algorithms that avoid many of the ambiguities common in natural language statements. Programming languages are primarily intended for expressing algorithms in a form that can be executed by a computer, but are often used as a way to define or document algorithms.

Implementation Most algorithms are intended to be implemented as computer programs.computer programs However, algorithms are also implemented by other means, such as in a biological neural network (for example, the human brain implementing arithmetic or an insect looking for food), in an electrical circuit, or in a mechanical deviceneural networkhuman brainarithmeticelectrical circuit

Analysis of algorithms Analysis of algorithms is the branch of computer science that studies the performance of algorithms, especially their run time and space requirements. The practical goal of algorithm analysis is to predict the performance of different algorithms in order to guide design decisions. So the goal of algorithm analysis is to make meaningful comparisons between algorithms.