1 Program Development l Problem definition l Problem analysis l Algorithm design l Program coding l Program testing l Program documentation.

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

Algorithms + L. Grewe.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Al-Karma Language School Computer Department Prep. 3.
Program Development Procedures 1.Program definition clearly define what the problem is. clearly define Input and output data (types, precision, units used)
D IVIDE AND CONQUER STRATEGY, D ATA TYPE, A LGORITHM DESIGN AND PRACTICE. Week 13 Mr.Mohammed Rahmath.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
The Programming Discipline Professor Stephen K. Kwan 2010 Things you need to know (learn) for developing large computer programs.
The Program Development Cycle and Program Design Tools
Program Flow Charting How to tackle the beginning stage a program design.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Pseudocode Developing Your Program Logic. What is Pseudocode zA computer program is the representation of an "algorithm" (an unambiguous set of steps,
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
Chapter 4 Sec. 4.1, 4.2, 4.4 Procedures (User-defined)
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
BPC.1 Basic Programming Concepts
New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
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.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
COMP An Introduction to Computer Programming : University of the West Indies COMP6015 An Introduction to Computer Programming Lecture 02.
Structured Programming Defn: This is an approach to program development that produces programs of high quality that are easy to test, debug, modify and.
Flow Charting. Goals Create Algorithms using Flow Charting procedures. Distinguish between Flow Charting and Pseudocode. Top-Down Design Bottom-up Design.
หลักการโปรแกรม เพื่อแก้ปัญหาโดยใช้คอมพิวเตอร์
INTRODUCTION TO ALGORITHMS PROGRAMMING. Objectives Give a definition of the term algorithm Describe the various parts of the pseudocode algorithm or algorithm.
Mastering Char to ASCII AND DOING MORE RELATED STRING MANIPULATION Why VB.Net ?  The Language resembles Pseudocode - good for teaching and learning fundamentals.
Modular Programming. Modular Programming (1/6) Modular programming  Goes hand-in-hand with stepwise refinement and incremental development  Makes the.
CS0004: Introduction to Programming Subprocedures and Modular Design.
ALGORITHM CHAPTER 8. Chapter Outlines and Objectives  Define an algorithm and relate it to problem solving.  Define three construct and describe their.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Prof. amr Goneid, AUC1 CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 1. Introduction.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Unit 2 – Algorithms & Pseudocode. Algorithms Computer problems solved by executing series of action in order Procedure –The Actions to execute –The Order.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Software Engineering CS103 February 13, How Do You Solve Big Problems? Thousands of programmers Thousands of programmers Months or years of coding.
EGR 115 Introduction to Computing for Engineers Branching & Program Design – Part 1 Monday 29 Sept 2014 EGR 115 Introduction to Computing for Engineers.
Computing Higher – SD Unit - Topic 8 – Procedure and Standard Algorithms P Lynch, St Andrew’s High School Unit 2 Software Development Process Topic.
Subroutines. Harder Problems  Examples so far: sum, sum between, minimum –straightforward computation –small number of intermediate variables –single.
Algorithm Discovery and Design Objectives: Interpret pseudocode Write pseudocode, using the three types of operations: * sequential (steps in order written)
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Hashemite University Computer Engineering Department
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Think First, Code Second Understand the problem Work out step by step procedure for solving the problem (algorithm) top down design and stepwise refinement.
1 UMBC CMSC 104, Section Fall 2002 Functions, Part 1 of 3 Topics Top-down Design The Function Concept Using Predefined Functions Programmer-Defined.
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.
MIT App Inventor Lesson 3 Algorithms Variables Procedures.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Problem Solving.  Similar to Solving Math Word Problem  Read the Problem  Decide how to go about Solving the Problem  Solve the Problem  Test the.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Structure Charts. Graphical representation of the logic of the program, the decisions made, where they are made, the alternative paths, the data stores,
Chapter 7: Designing solutions to problems OCR Computing for A Level © Hodder Education 2009.
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.
Halting Problem Dr K R Bond 2009
IGCSE 4 Cambridge Data types and arrays Computer Science Section 2
Introduction to Problem Solving
Problem Solving Techniques
Control Structure Senior Lecturer
1) C program development 2) Selection structure
The Programming Process
POWERPOINT PRESENTATION
Software Development Process
Programming Concepts and Database
Teori Bahasa dan Automata Lecture 13: Algorithm
Notes Over 1.7 Solving Inequalities
Notes Over 1.7 Solving Inequalities
Do it now activity Log onto the computer.
Pseudo-Code Conditional Branches
2 Making Blocks with INPUTS.
Presentation transcript:

1 Program Development l Problem definition l Problem analysis l Algorithm design l Program coding l Program testing l Program documentation

Problem Definition

3 ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. Here is our problem.

Problem Analysis

5 ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. How to solve the problem?

6 Problem Analysis - Input ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. â A starting Date â The number of days that follows First, identify the input.

7 Problem Analysis ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. The output is next, right?

8 Problem Analysis - Output ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. Very Good! â The date n days after the input date

9 Problem Analysis ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. What about the algorithm?

10 Problem Analysis ?The computer accepts a date of the year 1994 and outputs the date n days after the input date. II  e got a solution!

Algorithm Design Top-down Modular Approach

12 Top-down Modular Design This is our initial problem Look_Up_Date

13 Structure Chart - Level 1 Look_Up_Date Break the problem down into subproblems Initialization Get_Input Calculate_Date Output_Date

14 Structure Chart - Level 2 Look_Up_Date Calculate_DateGet_InputInitializationOutput_Date Input Starting Input Number. Date of days Further break down if necesary

15 Structure Chart Completed Done! Look_Up_Date Input Starting Date Calculate_DateGet_InputInitialization Input Number of Days Output_Date

Program Coding Pseudocode

17 Pseudocode 1. Initialization 2. Get_Input 3. Calculate_Date 4. Output_Date

18 Step-wise Refinement 2.1 Input Starting Date 2.2. Input Number of Days 1. Initialization 2. Get_Input 3. Calculate_Date 4. Output_Date

Program Coding Programming Language Pascal

program Look_Up_Date; { variable declarations } : { procedure declarations } : begin Initialization; Get_Input; Calculate_Date; Output_Date end.

program Look_Up_Date; { variable declarations } var Year, Month, Day : integer; { procedure declarations } : begin Initialization; Get_Input ( Year, Month, Day ); Calculate_Date ( Year, Month, Day ); Output_Date ( Year, Month, Day ) end.

Program Tesing & Debugging

23 Test Cases l Choose suitable test cases l Beware of Boundary Conditions l For Example, to test a program which decides whether an input number is greater than or equal to 100. l Three test cases should be used. l Do you know which three ?

24 Test cases (Continue...) l (1)any numbers small than 100 e.g. 50 l (2)the number 100 l (3) any numbers greater than 100 e.g. 200

Program Documentation

26 The End l Prepared by l Mr. Chan Hing Man ( )