algorithm
a process or set of rules to be followed in calculations or other problems solving operations
sequencing
logic structure where instructions are executed in order, one after another, one at a time. Often called linear.
flowchart
a simple diagram with symbols showing the "flow" of a process
flow pattern
pattern that can emerge when data is transformed using computational logic structures (sequencing, selection, iteration).
sequential execution
program instructions that are executed one at a time, in order.
parameter
a variable that defines a procedure or sets the conditions of an operation
procedure
a named collection of steps in an algorithm that can be reused anytime it is needed without restating the detailed procedures (abstraction)
comments
an annotation in the code of a computer program
remix
to modify and share a version of an uploaded existing project
selection
algorithmic structure that uses "if...then" to tell computer how to select a step or to tell the sequence that should be executed.
if statement
type of selection statement that only executes when a certain criteria is met.
if else statement
a more thorough version of an if statement that stipulates what is to happen when a certain criteria is not met.
operators
symbols that imply a comparison in conditional selection statements.
control flow
the direction the computer program moves from instruction to instruction over time. Can also be controlled by if statements and other binary conditions.
Operator block
light-green colored blocks of code used to handle strings and math equations in Scratch.
If block
a set of instructions within an if block that is executed only if the condition in the if statement is met.
If else block
a set of instructions within an if block is executed if a specified condition is true and instructions within the else block are executed if the same condition is false.
branching
instruction in a computer program that can cause a computer to begin executing a different sequence of instructions.
conditionals
only executes if a certain designated condition is true.
Boolean values
binary values (usually denoted true and false), intended to represent the truth values of logic and Boolean algebra.
switching
turning on or off (binary)
nesting
where different logic structures sequence, selection and loops are combined or nested in one another.
iteration
repetition - one complete step of a loop, repeated until a certain condition is met
loop
the repetition of some code
indefinite loop
when it is unknown how many times a loop will iterate, usually we are waiting for an event to occur such as "repeat until...."
definite loop
executes a predetermined set of times for a loop to be repeated
repetition
one complete step of a loop, repeated until a certain condition is met
unsolvable problem
a problem that cannot be solved using any algorithm
Halting Problem
there cannot be a program that will determine which computer programs will halt (or exit) and which programs will go on forever (infinite loop)
undecidable problem
where no algorithm can be made that always leads to a correct yes or no answer.
scalability
how well do algorithms perform at increasingly larger scales.
Big-O Notation
a mathematical concept used by computer scientists to determine how well algorithms scale - performances classified into different categories.
sequential search
a linear search method of finding a targeted value within a list, looking one at a time until a match is found.
binary search
a method of searching by dividing the search interval in half each time.
logarithmic behavior
doubling the size of a problem only requires one extra unit of work.
brute forcing
trial and error method used to decode encrypted data such as passwords.
Moore's Law
developed by Gordon Moore, who accurately predicted that the number of transistors that could fit on a chip would roughly double every one to two years. This law has helped innovators predict and develop technology efficiently for the past 50 years.
heuristics
a method for deriving an approximate solution - Rules of Thumb but not guaranteed an accurately correct answer
logic gate
a hardware abstraction that is modeled by a Boolean function