Algorithm Thinking Flashcards

1
Q

Algorithm

A

A precise, systematic method for producing a specific result.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Five Essential Properties of Algorithms

A

1) Input Specified
2) Output Specified
3) Precision
4) Reasonable Operations
5) Finite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Input Specified

A

Must specify the type, amount and form of data to be used during the algorithm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Output Specified

A

Must describe the result of the algorithm (it is possible to have no output)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Precision

A

Specify precisely the sequence of steps to be performed including how to handle errors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Reasonable Operations

A

The operations are doable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Finite

A

The algorithm must eventually stop (terminate).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

An algorithm must..

A

Be written using a language understood by both the writer of the algorithm and the reader who will use it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

We use…

A

Precise programming language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

The 5 steps of Software Development

A

1) Specification
2) Design
3) Implementation
4) Testing, execution, debugging
5) Maintenance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Specification

A

Determine the scope of your problem and what you want your program to do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Design

A

Determine the structure and algorithms necessary (how) to solve your problem at a high-level of abstraction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Implementation

A

Start implementing your algorithms/structures on the computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Testing, Execution, and Debugging

A

Test your program on various data sets and fix any problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Maintenance

A

Over time, modify your program as necessary to handle new data or more complicated problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Program

A

A sequence of simple computer instructions in some language which tell the computer the necessary steps to solve a problem or complete a task.