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.

Slides:



Advertisements
Similar presentations
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Advertisements

Chapter 1 An Overview of Computers and Programming Languages.
Coding. Steps to Success 1.Create a PLAN including a detailed statement of requirements (SORs) 2.Write algorithms based on the SORs 3.Write pseudocode.
Overview of Computers & Programming Languages Chapter 1.
Algorithms and Problem Solving-1 Algorithms and Problem Solving Mainly based on Chapter 6: “Problem Solving and Algorithm Design” from the Book: “Computer.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Chapter 1 pp 1-14 Properties of Algorithms Pseudocode.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
BBS Yapısal Programlama (Structured Programming)1 From problem to program In “real world”… Problem in Natural language Top Down Design in pseudo-code.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
BPC.1 Basic Programming Concepts
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
6 Steps of the Programming Process
หลักการโปรแกรม เพื่อแก้ปัญหาโดยใช้คอมพิวเตอร์
General Programming Introduction to Computing Science and Programming I.
Programming Lifecycle
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
School of Computer Science & Information Technology G6DICP - Lecture 9 Software Development Techniques.
SE: CHAPTER 7 Writing The Program
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
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.
กระบวนการแก้ปัญหาด้วย คอมพิวเตอร์ 3 พฤษภาคม :00-17:00.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Lecture 13: 10/10/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
CS221 Algorithm Basics. What is an algorithm? An algorithm is a list of instructions that transform input information into a desired output. Each instruction.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Lecture 5: Stopping with a Sentinel. Using a Sentinel Problem Develop a class-averaging program that will process an arbitrary number of grades each time.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Software Engineering CS103 February 13, How Do You Solve Big Problems? Thousands of programmers Thousands of programmers Months or years of coding.
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.
3.2 Solving Systems Algebraically When you try to solve a system of equations by graphing, the coordinates of the point of intersection may not be obvious.
9.5 Solving by Factoring Algebra 14.0, Predicting with Evidence What are the zeros for y = x 2 – x – 6? Now factor x 2 – x – 6 = 0 and solve. What.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
Problem Solving.  Similar to Solving Math Word Problem  Read the Problem  Decide how to go about Solving the Problem  Solve the Problem  Test the.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Software Engineering Algorithms, Compilers, & Lifecycle.
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.
Loops When you want a computer to perform the same operation many times you use a loop. Looping is one of the keys to computer programming. First we will.
S5.40. Module Structure 30% practical tests / 70% written exam 3h lectures / week (except reading week) 3 x 2h of computer labs (solving problems practicing.
Introduction to Computing Science and Programming I
Algorithms and Problem Solving
Algorithms II Software Development Life-Cycle.
CSCI-235 Micro-Computer Applications
Algorithm and Ambiguity
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Algorithm and Ambiguity
Understand the Programming Process
An Introduction to Visual Basic .NET and Program Design
Introduction to Problem Solving
Problem Solving Techniques
Solving Quadratic Equations by Factoring
The Programming Process
Understand the Programming Process
Fundamentals of Programming I The Software Lifecycle
Algorithms and Problem Solving
Program Design Language (PDL)
Chapter 2 – part a Brent M. Dingle Texas A&M University
Basic Concepts of Algorithm
Presentation transcript:

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 into a form that permits a mechanical solution. A straightforward example of this process is transforming an algebra word problem into a set of algebraic equations that can then be solved for the unknowns.

Software Development Method Requirements specification Analysis Design Implementation or coding Testing

Requirements Specification State the problem and gain a clear understanding of what is required for the solution. –Sounds easy but can be most difficult part –Must define the problem precisely eliminate unimportant aspects zero in on root problem

Analysis Identify input and outputs –What information should the solution provide? –What data do I have to work with? Identify data types needed

Design Develop a list of steps to solve the problem. This is called an algorithm. –First list the major steps of the problem that need to be solved (subproblems) –Now attack each of the subproblems. This is called refining the algorithm. (this process is like divide and conquer)

Implementation or Coding Notice that until now the steps are the same regardless of the programming language you are using. Translate your algorithm from pseudocode to Pascal. –Good programming style –comments

Testing Test the completed program and verify it works as expected. Don’t rely on just one test case. Run the program using several different sets of data. Try to trick the program. A well written program should handle any error a user may make.

Midterm #1 Chapters 1 (not really), 2 (not really), 3, 4, 5 February 24, 2000 (two weeks from today) I expect to finish chapter 5 on February 17 February 22 will be a review (there is a chance we will have 1 or 2 topics to finish from chapter 5 that day)