# ITM 207 Study Guide - Final Guide: The Item, Operand, Insertion Sort

88 views9 pages

Published on 17 Apr 2013

Department

Information Technology Management

Course

ITM 207

Professor

Chapter 7 ITM 207 Final Exam Notes

Problem Solving and Algorithms

Chapter 7

Problem Solving:

The act of finding a solution to a perplexing, distressing, vexing, or unsettled

question.

How to Solve It: A new Aspect of Mathematical Method by George Polya

“How to solve it list” written within the context of mathematical

problems.

How do you solve problems?

- Understand the problem

- Devise a plan

- Carry out the plan

- Look back

Strategies:

- Ask Questions

o What do I know about the problem?

o What is the information I have to process in order to find the solution?

o What does the solution look like?

- Similar problems come up again and again

- A good programmer recognizes problems that have been solved before and

uses past solutions

- Divide and Conquer

o Break up a large problem into smaller units and solve each smaller

problem

Applies the concept of abstraction

The divide-and-conquer approach can be applied over and

over again until subtask is manageable

Computer Enabled Problem Solving:

- Analysis and Specification Phase

o Analyze

o Specification

- Algorithm Development Phase

o Develop Algorithm

o Test Algorithm

- Implementation Phase

o Code algorithm

o Test Algorithm

Chapter 7 ITM 207 Final Exam Notes

- Maintenance Phase

o Use

o Maintain

Phase Interactions:

Algorithms:

A set of unambiguous instructions for solving a problem or sub-problem in a

finite amount of time using a finite amount of data.

Abstract Step:

An algorithmic step containing unspecified details.

Concrete Step:

An algorithmic step in which all details are specified.

Developing an Algorithm:

Two methods to develop computer solutions to a problem:

o Top-down design focuses on the tasks to be done

o Object-oriented design focuses on the data involved in the solution.

Summary of Methodology:

- Analyze the problem

o Understand the problem

Another

arrow can be

added if the

problem is

later revised

Chapter 7 ITM 207 Final Exam Notes

o Develop a plan of attack

- List the Main Tasks (becomes main module)

o Restate problem as a list of tasks (modules)

o Give each task a name

- Write the remaining Modules

o Restate each abstract module as a list of tasks

o Give each task a name

- Re-sequence and revise as necessary

o Process ends when all steps (modules) are concrete

Top-Down Design:

Control Structures:

An instruction that determines the order in which other instructions in a

program are executed.

Selection Statements:

Process continues

for as many levels

as it takes to

make every step

concrete

Name of the (sub)

problem at one

level becomes a

module at next

lower level

Flow of

control if

statement

## Document Summary

The act of finding a solution to a perplexing, distressing, vexing, or unsettled question. How to solve it: a new aspect of mathematical method by george polya. How to solve it list written within the context of mathematical problems. Similar problems come up again and again. A good programmer recognizes problems that have been solved before and uses past solutions. Divide and conquer: break up a large problem into smaller units and solve each smaller problem. The divide-and-conquer approach can be applied over and over again until subtask is manageable. Analysis and specification phase: analyze, specification. Algorithm development phase: develop algorithm, test algorithm. Another arrow can be added if the problem is later revised. A set of unambiguous instructions for solving a problem or sub-problem in a finite amount of time using a finite amount of data. An algorithmic step in which all details are specified.