innovating
The process of imagining something that does not yet exist, but that has potential, and making it real through the application of design, implementation, and production (1.1)
iteration
Repeatedly applying a process with the goal of coming closer and closer to a solution / Repetition - one complete step of a loop (1.1)
iterative development process
The process by which computer programs are designed, developed, and tested in repeated cycles (1.1)
debug
To identify and remove errors from a computer program (1.1)
algorithm
A finite set of instruction that accomplish a specific task (1.2)
sequencing
Executes statements one at a time, in order, one after another (1.2)
selection
Uses "if...then" to tell a computer how to select a step or to tell the sequence that it should be executed (1.2)
imperative statement
A command statement with a verb phrase that indicates an operation to perform (1.2)
descriptive qualifier
A specific adverb or adjective that further qualifies or limits the meaning of a word (1.2)
natural language
A complex but structured language, both written and spoken, that has evolved naturally in humans through use, repetition, and adaptation (1.3)
binary
Machine code that is direct, low-level translation from the high-level source code, and is a pattern of 0s and 1s (1.3)
abstraction
The process of removing or suppressing details to create a manageable level of complexity (1.3)
artificial language
A limited size language, usually developed by a small group for specific reasons. Usually is much simpler and structured.
ambiguity
Uncertainty or being open to more than one interpretation (1.3)
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 (1.3)
high-level language
A programming language that is easier for human to read, write and parse. It is guaranteed to be ambiguous (1.3)
low-level language
A programming language that has little or no abstraction and communicates closely to the hardware using machine language, but is less natural for humans (1.3)
compilation
The process of source code being translated into machine code (1.3)
bit
A binary digit - either a 1 or a 0 (1.4)
source code
Programs written in high-level languages (1.4)
machine code
Machine-level instructions that are uniquely read by computer processors using patterns of 1s and 0s (1.4)
code statement
Something that is a part of program code that expresses an action to be carried out (1.6)
input
User interaction with a program via clicking, mouse development, or keyboard entry (1.7)
storage
What the computer "stores" or needs to remember to execute a program (1.7)
state
A description of what the computer is doing or the values of variables at any given moment (1.7)
attributes
A description of what the computer is doing or the values of variables at any given moment (1.7)
process
The program code and current activity that is being executed in a computer program (1.7)
placeholder
A variable in place of a particular value or attribute (1.7)
variable
A placeholder to store a particular value of attribute (1.9)
integer
A whole number, a number that is not a fraction that is used in programs (1.8)
character
A single letter, digit, or symbol that can be a type of variable (1.8)
string
A series of characters at any length (1.8)
Boolean values
A variable to represent true or false (1.8)
array
Lists of other variables (1.8)
floating point number (float)
A number that may have digits after the decimal point (1.8)
declaring variables
Creating variables in a programming language (1.8)
flowchart
A simple diagram with symbols showing the "flow" of a process (2.1)
flow pattern
A pattern that can emerge when data is transformed using computation logic structures (sequencing, selection, iteration) (2.1)
sequential execution
Program instructions that are executed one at a time, in order (2.1)
code segment
Something that refers to a collection of program statements that are part of a program (2.2)
program
A collection of program statements that perform a specific task when run by a computer. A program is often referred to as software (2.2)
parameter
A variable that defines a procedure or sets the condition of an operation (2.2)
procedure
A named collection of steps in an algorithm that can be reused anytime it is needed without restating the detailed procedures (2.2)
remix
To modify and share a version of an uploaded existing project (2.2)
comments
An annotation in the code of a computer program (2.2)
pseudocode
An informal method of writing algorithmic instructions that do not necessarily follow grammatical rules and syntax of a particular language - "false" code (2.3)
if statement
A type of selection statement that only executes when a certain criteria is met (2.4)
if else statement
A more thorough version of an if statement that stipulates what is to happen when a certain criteria is not met (2.4)
operators
Symbols that imply a comparison in conditional selection statements (2.4)
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 (2.5)
branching
Instruction in a computer program that can cause a computer to begin executing a different sequence of instructions (2.5)
conditionals
Only executes if a certain designated condition is true (2.5)
switching
Turning on or off (binary) (2.5)
nesting
Where different logic structures sequence, selection and loops are combined or nested in one another (2.5)
loop
The repetition of some code (2.6)
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...." (2.6)
definite loop
Executes a predetermined set of times for a loop to be repeated (2.6)
modularity
The subdivision of a computer program into separate subprograms (2.8)
heuristics
A method for deriving an approximate solution - Rules of Thumb but not guaranteed an accurately correct answer (2.9)
unsolvable problem
A problem that cannot be solved using any algorithm (2.9)
Halting Problem
There cannot be a program that will determine which computer programs will halt (or exit) and which programs will go on forever (2.9)
undecidable problem
Where no algorithm can be made that always leads to a correct yes or no answer (2.9)
scalability
How well do algorithms perform at increasingly larger scales (2.9)
Big-O Notation
A mathematical concept used by computer scientists to determine how well algorithms scale - performances classified into different categories (2.9)
sequential search
A linear search method of finding a targeted value within a list, looking one at a time until a match is found (2.9)
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 (2.9)
logarithmic behavior
Doubling the size of a problem only requires one extra unit of work (2.9)
brute forcing
Trial and error method used to decode encrypted data such as passwords (2.9)
logic gate
A hardware abstraction that is modeled by a Boolean function (2.10)
dichotomous
In which something can only be one thing or another (yes or no) (3.1)
binary code
Code represented with the two symbols of 1 and 0 (3.1)
bits
The foundation for digital computing (1s and 0s) - short for binary digits (3.1)
digital
How information is stored, accessed, transformed and used by computers (3.1)
state space
The space of potential possibilities (3.1)
exponential growth
The rate of growth that rapidly increases in proportion to the growing total number or size (3.1)
fixed-point numbers
Numbers where the decimal point is always in the same place (3.1)
floating-point numbers
Numbers where the decimal point can float because there is no fixed number of digits before and after the decimal point. AKA: real numbers (3.1)
real numbers
Numbers approximated by floating-point representations that do not necessarily have infinite precision (3.1)
scientific notation
The mathematical representation of a decimal number in floating-point form. Examples: 4 x 10³ for 4,000, 4.002 x 10³x 10 for 4,002 or 2.345E6 for 2,345,000 (3.1)
decimal
Describes the base-10 number system, the most commonly used number system (3.2)
ASCII (American Standard Code for Information Interchange)
A table that outlines a common set of conventions established for converting between binary values and alphanumeric (represents 128 different characters) (3.3)
alphanumeric
The characters that consists of uppercase and lowercase letters in addition to numerals 0-9 (3.3)
digital noise
Irrelevant or meaningless data that has found its way into otherwise meaningful code (3.3)
bit string
A sequence of bits that can be used to represent sets or to manipulate binary data (3.3)
mapping
Associating each element of a given set with one or more elements of a second set (3.3)
unicode
A binary encoding system that can represent much more of the world's text than ASCII can (represents 65,536 different characters) (3.3)
Morse Code
A code where letters are represented by combinations of long and short signals of light or sound (3.5)
Baudot Code
A binary code invented by Emile Baudot in 1870 that uses crosses and dots in order to encode 2^5 or 32 characters (3.5)
variable-width encoding
Using codes of different lengths to encode a character set for representation (example: Morse Code) (3.5)
fixed-width encoding
Using codes with a fixed width to encode a character set for representation (example: Baudot Code) (3.5)
discrete
Separate or divided (digital) (3.6)
continuous
Unbroken, without interruption (analog) (3.6)
approximation
Digital copies are only approximations of the natural object (3.6)
analog
Non-digital signals or information represented by a continuously variable physical quantity such as spatial position or voltage (3.6)
element
An element is an individual value in a list that is assigned a unique index (3.7)
data structure
A particular way of organizing and storing data such as an array, table, etc. (3.7)
data abstraction
Help manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation (3.7)
index value
The representation of the location of each item in a list (3.7)
list
A list is an ordered sequence of elements. For example, [value1, value2, value3, ...] describes a list where value1 is the first element, value 2 is the second element, value 3 is the third element, and so on (3.7)