CS 46101 Section 600 CS 56101 Section 002 Dr. Angela Guercio Spring 2010.

Slides:



Advertisements
Similar presentations
Order Analysis of Algorithms Debdeep Mukhopadhyay IIT Madras.
Advertisements

Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CS 253: Algorithms Chapter 2 Sorting Insertion sort Bubble Sort Selection sort Run-Time Analysis Credit: Dr. George Bebis.
Chapter 2. Getting Started. Outline Familiarize you with the to think about the design and analysis of algorithms Familiarize you with the framework to.
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
What is an Algorithm? (And how do we analyze one?)
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
Insertion Sort.
Text Chapters 1, 2. Sorting ä Sorting Problem: ä Input: A sequence of n numbers ä Output: A permutation (reordering) of the input sequence such that:
1 Module 2: Fundamental Concepts Problems Programs –Programming languages.
Computer Concepts 5th Edition Parsons/Oja Page 546 CHAPTER 11 Software Engineering Section A PARSONS/OJA Computer Programming.
Program Flow Charting How to tackle the beginning stage a program design.
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
CS146 Overview. Problem Solving by Computing Human Level  Virtual Machine   Actual Computer Virtual Machine Level L0.
Introduction CIS 606 Spring The sorting problem Input: A sequence of n numbers 〈 a 1, a 2, …, a n 〉. Output: A permutation (reordering) 〈 a’ 1,
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting.
1 Programming Languages Examples: C, Java, HTML, Haskell, Prolog, SAS Also known as formal languages Completely described and rigidly governed by formal.
The Art of Programming Top-Down Design. The Art of Problem Solving The art of problem solving is the transformation of an English description of a problem.
Introducing Java.
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.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
CSC 338: Compiler design and implementation
Programming Lifecycle
26 Sep 2014Lecture 3 1. Last lecture: Experimental observation & prediction Cost models: Counting the number of executions of Every single kind of command.
Computer Concepts 2014 Chapter 12 Computer Programming.
BY Lecturer: Aisha Dawood.  an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces.
CS 1308 Computer Literacy and The Internet Software.
CS CS Computing for Business Instructor:David Tucker GTA:Batul Mirza.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
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.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
1Computer Sciences Department. Book: Introduction to Algorithms, by: Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Electronic:
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
Lecture 11: 10/1/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
6. Program Translation CS100: The World of Computing John Dougherty Haverford College.
Algorithms IS 320 Spring 2015 Sorting. 2 The Sorting Problem Input: –A sequence of n numbers a 1, a 2,..., a n Output: –A permutation (reordering) a 1.
Time Complexity. Solving a computational program Describing the general steps of the solution –Algorithm’s course Use abstract data types and pseudo code.
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Algorithms A well-defined computational procedure that takes some value as input and produces some value as output. (Also, a sequence of computational.
2IS80 Fundamentals of Informatics Fall 2015 Lecture 6: Sorting and Searching.
Chapter 1. The Role of the Algorithms in Computer.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
Introducing Java Chapter 3 Review. Why Program in Java? Java, is an object-oriented programming language. OOP languages evolved out of the need to better.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
Software Engineering Algorithms, Compilers, & Lifecycle.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
13 1 Computer Programming Ch.15-A,B,C FALL 2000 Rob Wolfe.
Buffer Whenever a read or readln is executed and you type a line of data terminated by hitting ENTER, that line, along with the CR/LF end of line marker.
What Do Computers Do? A computer system is
Introduction to Algorithms
CSCI-235 Micro-Computer Applications
Developing Applications
Computer Programming.
Hello World 2 What does all that mean?.
Problem Solving Techniques
CS200: Algorithms Analysis
The Programming Process
Introduction to Algorithms
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010

 Input: A sequence of n numbers 〈 a 1, a 2, …, a n 〉.  Output: A permutation (reordering) 〈 a’ 1, a’ 2, …, a’ n 〉 of the input sequence such that a’ 1 ≤ a’ 2 ≤ …≤ a’ n.  The sequences are typically stored in arrays.  We also refer to the numbers as keys. Along with each key may be additional information, known as satellite data.

 We will see several ways to solve the sorting problem. Each way will be expressed as an algorithm: ◦ a well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output.

 We express algorithms in whatever way is the clearest and most concise. ◦ English is sometimes the best way.  When issues of control need to be made perfectly clear, we often use pseudocode. ◦ Pseudocode is similar to C, C++, Pascal, and Java. ◦ Pseudocode is designed for expressing algorithms to humans. Software engineering issues of data abstraction, modularity, and error handling are often ignored.  We sometimes embed English statements into pseudocode  unlike for “real” programming languages, we cannot create a compiler that translates pseudocode to machine code.

 Insertion Sort ◦ The algorithm ◦ Analysis of the algorithm  The best, the worst and the average case  Reading ◦ Until page 30 of your book