Program Design. The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop.

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
CSE115/ENGR160 Discrete Mathematics 02/24/11 Ming-Hsuan Yang UC Merced 1.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Algorithm Design CS105. Problem Solving Algorithm: set of unambiguous instructions to solve a problem – Breaking down a problem into a set of sub- problems.
Chapter 2: Design of Algorithms
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
PRE-PROGRAMMING PHASE
Algorithm. An algorithm is a procedure for solving a problem in terms of the actions to be executed and the order in which those actions are to be executed.
1 CS Programming Languages Random Access Machines Jeremy R. Johnson.
1 Design and Analysis of Algorithms تصميم وتحليل الخوارزميات (311 عال) Chapter 1 Introduction to Algorithms.
Consecutive Numbers Algebra I.
1 I.Introduction to Algorithm and Programming Algoritma dan Pemrograman – Teknik Informatika UK Petra 2009.
C OMPUTER P ROGRAMMING 1 Introduction to Programming.
1 Programming and Problem Solving — Software Engineering (Read Chap. 2)
Programming and Problem Solving — Software Engineering (Read Chap. 2) 1.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Discrete Mathematics Algorithms. Introduction  An algorithm is a finite set of instructions with the following characteristics:  Precision: steps are.
Introduction to Computational Linguistics Programming I.
Computer Architecture and the Fetch-Execute Cycle
February 4, 2005 Searching and Sorting Arrays. Searching.
1 Flow of control Sequential Executing instructions one by one, in exact order given Selection Choosing to execute a particular set of statements depending.
CPS120 Introduction to Computer Programming The Programming Process.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
Chapter Algorithms 3.2 The Growth of Functions 3.3 Complexity of Algorithms 3.4 The Integers and Division 3.5 Primes and Greatest Common Divisors.
1 Section 2.1 Algorithms. 2 Algorithm A finite set of precise instructions for performing a computation or for solving a problem.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
What's The Plan? Algorithmic Thinking Step-by-step directions for whatever someone, or the computer, needs to do © 2004 Lawrence Snyder.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Introduction to programming Carl Smith National Certificate Year 2 – Unit 4.
ALGORITHMS.
Algorithm Discovery and Design Objectives: Interpret pseudocode Write pseudocode, using the three types of operations: * sequential (steps in order written)
Flowchart. a diagram of the sequence of movements or actions of people or things involved in a complex system or activity. a graphical representation.
Flowcharts C++ Lab. Algorithm An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. Input data A step-by-step.
Why Repetition? Read 8 real numbers and compute their average REAL X1, X2, X3, X4, X5, X6, X7, X8 REAL SUM, AVG READ *, X1, X2, X3, X4, X5, X6, X7, X8.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
CS 101 – Oct. 7 Solving simple problems: create algorithm Structure of solution –Sequence of steps (1,2,3….) –Sometimes we need to make a choice –Sometimes.
1 The Role of Algorithms in Computing. 2 Computational problems A computational problem specifies an input-output relationship  What does the.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Software Engineering Algorithms, Compilers, & Lifecycle.
Chapter 9 Turing Machines What would happen if we change the stack in Pushdown Automata into some other storage device? Truing Machines, which maintains.
 Problem Analysis  Coding  Debugging  Testing.
Program design Program Design Process has 2 phases:
ICS 3UI - Introduction to Computer Science
ALGORITHMS AND FLOWCHARTS
Consecutive Numbers Algebra I.
CS1001 Programming Fundamentals 3(3-0) Lecture 2
Algorithm and Ambiguity
An Introduction to Visual Basic .NET and Program Design
VISUAL BASIC – CHAPTER ONE NOTES An Introduction to Visual Basic
Systems Architecture I (CS ) Lecture 1: Random Access Machines
Algorithms September 28, 2017.
Algorithms Take a look at the worksheet. What do we already know, and what will we have to learn in this term?
Algorithm and Ambiguity
The Programming Language L
Algorithms.
Click to add Text Computers & Instructions. Computers are given instructions in the form of computer programs that are created through the development.
The Programming Language L
RELATIONS & FUNCTIONS CHAPTER 4.
Type Topic in here! Created by Educational Technology Network
WJEC GCSE Computer Science
Systems Architecture I (CS ) Lecture 1: Random Access Machines
REPETITION Why Repetition?
Presentation transcript:

Program Design

The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop a plan of attack (we call this the algorithm) Execute your plan of attack (write the program) ProblemAlgorithmImplementation Problem solving phase Implementation phase

Algorithm A sequence of precise instructions which leads to a solution is called an algorithm. –Ex: compute the product of two integers –Input two numbers, e.g., N1 and N2 –Product, P, initially set to 0 –Add the first number, i.e. N1, to P –Decrement N2 –Check whether N2 is 0 or not –If N2 is 0, output P and stop –If not, repeat these steps starting at the addition above

Algorithms The biggest error you can make in computer programming –Skipping the “Develop the Algorithm” phase –Sometimes hard to see with the simple programs in this course, but with more difficult programs jumping right to the implementation is unwise ProblemImplementationAlgorithm

Program Design