Download presentation
Presentation is loading. Please wait.
1
Introduction to Problem Solving
2
Problem Solving in Everyday Life
Identify the problem. The first step toward solving a problem is to identify the problem. Understand the problem What is involved in the problem? Understand the knowledge base of the person or machine for whom you are solving the problem – what the person know? Identify alternative ways to solve the problem Should be as complete as possible Must be acceptable ones Select the best way to solve the problem from the list of alternative solutions Select criteria for the evaluation Evaluate the pros and cons of each possible solution before selection List instructions that enable you to solve the problem using the selected solution Numbered, step-by-step instructions must fall within the knowledge base Evaluation the solution Check its result to see if it is correct, satisfies the needs with the problem
3
Types of Problems Problems with … Requires a series of actions
Algorithmic solutions Requires reasoning built on knowledge and experience, and a process of trial and error Heuristic solutions
4
Problem Solving with Computers
Definitions: Solution instructions followed to produce best result Result outcome, computer-assisted answer Program instructions for solution using computer language
5
Difficulties with Problem Solving
Lack of problem solving experience Inadequate solution steps Incorrect problem definition Alternatives chosen incorrectly Invalid logic Incorrect solution evaluation
6
Software Development Method
Specify the problem requirements Analyse the problem Design the algorithm to solve the problem Implement the algorithm Test and verify the completed program Maintain and update the program
7
Specify the Problem Requirements
State the problem clearly and unambiguously To gain a clear understanding of what is required for its solution Eliminate unimportant aspects Zero in on the root problem
8
Analyse the Problem Identify the problem
Inputs – data to work with Outputs – desired results Additional requirements or constraints on the solution Develop a list of problem variables and their relationships The relationship may be expressed as formulas
9
Designing the Algorithm
Develop a list of steps – algorithm Possible approach Top-down design (divide and conquer) List the major steps or subproblems For subproblems, break down into further detail steps using stepwise refinement Desk checking Carefully verify the algorithm to ensure it works as intended
10
The Rest… Implementing the algorithm Testing and verifying the program
Convert the algorithm into program code using programming language Testing and verifying the program Test the completed program to verify that it works as intended Test with different sets of data Maintaining and updating the program Modify the program to remove previously undetected errors
11
Software Development Life Cycle (SDLC)
Models and methodologies used in information systems or software engineering system development Forms the framework for the development process
12
Phases in SDLC Analysis of the problem Design of the solution
Analyse the problem to identify the needed data, the required results, and some ideas of how to process the data to achieve the desired results Design of the solution Decide what modules to use, how they interact, name the variables Development of the solution Test the code for each solution Algorithms, flowcharts, pseudocode Implementation of the solution Solution is ready for use Marketing, training, and final testing Maintenance and review of the solution Correction of found errors Review product
13
Reference Sprankle, M & Hubbard, J. (2012) Problem Solving and Programming Concepts, Pearson Education, Inc., New Jersey, Chapter 1 Hanly, J.R. & Elliot B.K. (2009) Problem Solving and Program Design, Pearson Education, Inc., USA, Chapter 1
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.