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)
2
New cards
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)
3
New cards
iterative development process
The process by which computer programs are designed, developed, and tested in repeated cycles (1.1)
4
New cards
debug
To identify and remove errors from a computer program (1.1)
5
New cards
algorithm
A finite set of instruction that accomplish a specific task (1.2)
6
New cards
sequencing
Executes statements one at a time, in order, one after another (1.2)
7
New cards
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)
8
New cards
imperative statement
A command statement with a verb phrase that indicates an operation to perform (1.2)
9
New cards
descriptive qualifier
A specific adverb or adjective that further qualifies or limits the meaning of a word (1.2)
10
New cards
natural language
A complex but structured language, both written and spoken, that has evolved naturally in humans through use, repetition, and adaptation (1.3)
11
New cards
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)
12
New cards
abstraction
The process of removing or suppressing details to create a manageable level of complexity (1.3)
13
New cards
artificial language
A limited size language, usually developed by a small group for specific reasons. Usually is much simpler and structured.
14
New cards
ambiguity
Uncertainty or being open to more than one interpretation (1.3)
15
New cards
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)
16
New cards
high-level language
A programming language that is easier for human to read, write and parse. It is guaranteed to be ambiguous (1.3)
17
New cards
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)
18
New cards
compilation
The process of source code being translated into machine code (1.3)
19
New cards
bit
A binary digit - either a 1 or a 0 (1.4)
20
New cards
source code
Programs written in high-level languages (1.4)
21
New cards
machine code
Machine-level instructions that are uniquely read by computer processors using patterns of 1s and 0s (1.4)
22
New cards
code statement
Something that is a part of program code that expresses an action to be carried out (1.6)
23
New cards
input
User interaction with a program via clicking, mouse development, or keyboard entry (1.7)
24
New cards
storage
What the computer "stores" or needs to remember to execute a program (1.7)
25
New cards
state
A description of what the computer is doing or the values of variables at any given moment (1.7)
26
New cards
attributes
A description of what the computer is doing or the values of variables at any given moment (1.7)
27
New cards
process
The program code and current activity that is being executed in a computer program (1.7)
28
New cards
placeholder
A variable in place of a particular value or attribute (1.7)
29
New cards
variable
A placeholder to store a particular value of attribute (1.9)
30
New cards
integer
A whole number, a number that is not a fraction that is used in programs (1.8)
31
New cards
character
A single letter, digit, or symbol that can be a type of variable (1.8)
32
New cards
string
A series of characters at any length (1.8)
33
New cards
Boolean values
A variable to represent true or false (1.8)
34
New cards
array
Lists of other variables (1.8)
35
New cards
floating point number (float)
A number that may have digits after the decimal point (1.8)
36
New cards
declaring variables
Creating variables in a programming language (1.8)
37
New cards
flowchart
A simple diagram with symbols showing the "flow" of a process (2.1)
38
New cards
flow pattern
A pattern that can emerge when data is transformed using computation logic structures (sequencing, selection, iteration) (2.1)
39
New cards
sequential execution
Program instructions that are executed one at a time, in order (2.1)
40
New cards
code segment
Something that refers to a collection of program statements that are part of a program (2.2)
41
New cards
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)
42
New cards
parameter
A variable that defines a procedure or sets the condition of an operation (2.2)
43
New cards
procedure
A named collection of steps in an algorithm that can be reused anytime it is needed without restating the detailed procedures (2.2)
44
New cards
remix
To modify and share a version of an uploaded existing project (2.2)
45
New cards
comments
An annotation in the code of a computer program (2.2)
46
New cards
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)
47
New cards
if statement
A type of selection statement that only executes when a certain criteria is met (2.4)
48
New cards
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)
49
New cards
operators
Symbols that imply a comparison in conditional selection statements (2.4)
50
New cards
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)
51
New cards
branching
Instruction in a computer program that can cause a computer to begin executing a different sequence of instructions (2.5)
52
New cards
conditionals
Only executes if a certain designated condition is true (2.5)
53
New cards
switching
Turning on or off (binary) (2.5)
54
New cards
nesting
Where different logic structures sequence, selection and loops are combined or nested in one another (2.5)
55
New cards
loop
The repetition of some code (2.6)
56
New cards
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)
57
New cards
definite loop
Executes a predetermined set of times for a loop to be repeated (2.6)
58
New cards
modularity
The subdivision of a computer program into separate subprograms (2.8)
59
New cards
heuristics
A method for deriving an approximate solution - Rules of Thumb but not guaranteed an accurately correct answer (2.9)
60
New cards
unsolvable problem
A problem that cannot be solved using any algorithm (2.9)
61
New cards
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)
62
New cards
undecidable problem
Where no algorithm can be made that always leads to a correct yes or no answer (2.9)
63
New cards
scalability
How well do algorithms perform at increasingly larger scales (2.9)
64
New cards
Big-O Notation
A mathematical concept used by computer scientists to determine how well algorithms scale - performances classified into different categories (2.9)
65
New cards
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)
66
New cards
binary search
A method of searching by dividing the search interval in half each time.
67
New cards
logarithmic behavior: doubling the size of a problem only requires one extra unit of work (2.9)
68
New cards
logarithmic behavior
Doubling the size of a problem only requires one extra unit of work (2.9)
69
New cards
brute forcing
Trial and error method used to decode encrypted data such as passwords (2.9)
70
New cards
logic gate
A hardware abstraction that is modeled by a Boolean function (2.10)
71
New cards
dichotomous
In which something can only be one thing or another (yes or no) (3.1)
72
New cards
binary code
Code represented with the two symbols of 1 and 0 (3.1)
73
New cards
bits
The foundation for digital computing (1s and 0s) - short for binary digits (3.1)
74
New cards
digital
How information is stored, accessed, transformed and used by computers (3.1)
75
New cards
state space
The space of potential possibilities (3.1)
76
New cards
exponential growth
The rate of growth that rapidly increases in proportion to the growing total number or size (3.1)
77
New cards
fixed-point numbers
Numbers where the decimal point is always in the same place (3.1)
78
New cards
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)
79
New cards
real numbers
Numbers approximated by floating-point representations that do not necessarily have infinite precision (3.1)
80
New cards
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)
81
New cards
decimal
Describes the base-10 number system, the most commonly used number system (3.2)
82
New cards
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)
83
New cards
alphanumeric
The characters that consists of uppercase and lowercase letters in addition to numerals 0-9 (3.3)
84
New cards
digital noise
Irrelevant or meaningless data that has found its way into otherwise meaningful code (3.3)
85
New cards
bit string
A sequence of bits that can be used to represent sets or to manipulate binary data (3.3)
86
New cards
mapping
Associating each element of a given set with one or more elements of a second set (3.3)
87
New cards
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)
88
New cards
Morse Code
A code where letters are represented by combinations of long and short signals of light or sound (3.5)
89
New cards
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)
90
New cards
variable-width encoding
Using codes of different lengths to encode a character set for representation (example: Morse Code) (3.5)
91
New cards
fixed-width encoding
Using codes with a fixed width to encode a character set for representation (example: Baudot Code) (3.5)
92
New cards
discrete
Separate or divided (digital) (3.6)
93
New cards
continuous
Unbroken, without interruption (analog) (3.6)
94
New cards
approximation
Digital copies are only approximations of the natural object (3.6)
95
New cards
analog
Non-digital signals or information represented by a continuously variable physical quantity such as spatial position or voltage (3.6)
96
New cards
element
An element is an individual value in a list that is assigned a unique index (3.7)
97
New cards
data structure
A particular way of organizing and storing data such as an array, table, etc. (3.7)
98
New cards
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)
99
New cards
index value
The representation of the location of each item in a list (3.7)
100
New cards
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)