Iterative Process
Pseudocode
An informal method of writing algorithmic instructions.
Input/Output (Parallelogram)
Asks for input from the user, and based on that will produce an output.
Design an Algorithm
Create a visual representation.
Idea
Define and understand the problem.
Imperative Statements
Each instruction in the second version is written as a command with a verb phrase that clearly denotes which operation needs to be performed (in this case, "put on"). The first version lacks these verbs and leaves it unclear what is to be done with these pants, shoes, and shirt. Put them on? Take them off? Wash them? Buy them? Sell them? Who knows? The algorithm doesn't say.
Sequencing
Executes statements one at a time - in order, one after another.
Iteration
Repeatedly applying a process with the goal of coming closer and closer to a solution.
Iteration
Repetition - one complete step of a loop, repeated until a certain condition is met.
Evaluate and Test
Run, test, and get feedback on a solution.
Terminal (Oval)
Shows the beginning and the end of the program.
Flow-line
Shows the steps in regards to where the logic goes next.
Flowchart
Simple diagram with symbols showing the "flow" of a process.
Process (Rectangle)
Something that changes the original state.
Format
The first version merely lists four words in succession, but doesn't make clear that this is an algorithm consisting of four discrete steps that must be performed. In the second version, each individual step is written on its own line, helping to make it visually clear each step is separate and unique from the other steps.
Descriptive Qualifiers
The first version only lists two shoes, but does not make any distinction between the left shoe and the right shoe. Maybe it doesn't matter whether you interpret the instructions as "left shoe, right shoe" or "right shoe, left shoe." But it probably does matter if you interpret it as "left shoe, left shoe." However, the second version of the algorithm eliminates this possible confusion by explicitly stating which shoe should be put on at each step in the process.
Iterative Development Process
The process by which computer programs are designed, developed and tested in repeated cycles.
Innovating
The process of imagining something that does not yet exist, but that has potential value, and making it real through the application of design, implementation, and production.
Debug
To identify and remove errors from a computer program.
Iterate
To repeat a process in order to get a different and better result each time.
Selection
Uses "if...then" to tell a computer how to select a step or to tell the sequence that it should be executed.
Condition (Diamond)
Which way the logic will flow based on the result of the condition.
Create and Implement
Write the code to implement the plan.
natural language
a complex, but structured language, both written and spoken, that has evolved naturally in humans through use, repetition, and adaptation.
artificial language
a limited size language, usually developed by a small group for specific purposes. Usually much simpler and structured.
low-level language
a programming language that has little or no abstraction and communicates closely to the hardware using machine language. Less natural for humans.
high-level language
a programming language that is easier for humans to read, write, and parse. Guaranteed to be unambiguous.
visual programming language
a programming language that lets users drag and drop icons into organized blocks of code to create programs rather than typing text.
binary
machine code that is a direct, low-level translation from the high-level source code, and is a pattern of 0s and 1s.
machine code
machine-level instructions that are uniquely read by computer processors using patterns of 1s and 0s.
source code
programs written in high-level languages.
abstraction
the process of removing or suppressing details to create a manageable level of complexity.
compilation
the process of source code being translated into machine code.
ambiguity
uncertainty or being open to more than one interpretation.