computing innovation
the development and execution of new, or improved, computer processes, computer technologies, systems, and software applications that can have the potential to create a strong impact on the ways society works and lives.
collaboration
a dynamic process where individuals harness digital tools and platforms to work together towards a shared goal.
online tools
an electronic service provided by a custodian that allows the user, in an agreement distinct from the terms-of-service agreement between the custodian and user, to provide directions for disclosure or nondisclosure of digital assets to a third person.
Interpersonal skills in effective collaborationÂ
the behaviors and tactics a person uses to interact with others effectively (e.g. trust building, communication, leadership, creative problem solving, decision making, and conflict management)
data values
information that has been translated into letters, numbers, and/or symbols so that it can be read, moved, and manipulated by a machine
digital data
a discrete representation
bit
storage unit; short for binary digit
byte
a group of 8 bits
abstraction
the process of removing elements of a code or program that aren’t relevant or that distract from more important elements
number bases
specifies the number of digits used in the system (e.g. base-10 uses digits 0-9)
binary
base-2 system; uses digits 0 and 1
decimal
the decimal numeral system is the standard system for denoting integer and non-integer numbers
place value
the value of each digit in a number (e.g. the value of the 2 in 120 is 2 tens)
purpose of program
to find a sequence of instructions that will automate the performance of a task (which can be as complex as an operating system) on a computer, often for solving a given problem.
program/software
consists of a series of related instructions, organized for a common purpose, that tells the computer what tasks to perform and how to perform them
behavior (of a program)
he collection of all the program's executions
function (of a program)
what the program is intended to do
program inputs
data sent to a computer for processing by a program
event
an event is an action or occurrence recognized by software, often originating asynchronously from the external environment, that may be handled by the software.
event-driven programming
a programming paradigm in which the flow of the program is determined by actions, like user actions of tapping the screen
program outputs
the program giving something to the user.
program interface
a set of protocols for building software
program specifications
defines a programming language so that users and implementors can agree on what programs in that language mean.
design phase
a stage where software developers define the technical details of the product. Depending on the project, these details can include screen designs, databases, sketches, system interfaces, and prototypes.
program documentation
a written description of the function of a code segment, event, procedure, or program and how it was developed
comments (in programs/software)
programmer-readable explanation or annotation in the source code of a computer program. For a human reader
acknowledgement (of code of others)
indicates how various senders and receivers handle blocks of data in a particular communication protocol.
testing (program/software)
Finding out how well something works.
variable
is a storage location (identified by a memory address) paried with an associated symbolic name, which contains some known or unknown quantity of information referred to as a value.
Variable naming (self-identify, camelCase, etc)
Variable naming (self-identify, camelCase, etc)
data types
a classification of data which tells the compiler or interpreter how the programmer intends to use the data.
assignment operator
assigns the value of its right-hand operand to a variable, a property, or an indexer element given by its left-hand operand.
algorithm
is a set of instructions designed to perform a specific task.
programming languages
languages used to create applications and, in multimedia, to produce sophisticated features such as creating animations and searching databases
algorithm construction
Every algorithm can be constructed using combinations of sequencing, selection, and iteration
software development process
A process of planning and managing software development.
software development process phases
planning, analysis, design, build, test, implement, and maintenance/support.
iterative development
a way of breaking down the software development lifecycle (SDLC) of a large application into smaller chunks.
incremental development
any combination of both iterative design or iterative method and incremental build model for development.
software design process
A way to improve design and product management by breaking software development work into smaller steps or sub-processes that can be done in parallel or in-order.
sequencing; sequential statements
The specific order in which instructions are performed in an algorithm.
code statement
a syntactic unit of an imperative programming language that expresses some action to be carried out.
expression
syntactic entity in a programming language that may be evaluated to determine its value. It is a combination of one or more constants, variables, functions, and operators that the programming language interprets and computes to produce another value.
string concatenation
the process of appending one string to the end of another string.
substring
a contiguous sequence of characters within a string.
boolean value
A result that can only have one of two possible values: true or false
operand
A value or expression that is used to perform an operation
selection
points where a decision must be made. implemented in programming using IF statements.
conditional statements
Uses Boolean expressions in the form of logical if/else and then statements to evaluate if something is true or false.
nested conditional statements
conditional statements within conditional statements
iteration
A function that repeats a block of code in a specified order, often until a specific result occurs
procedure (method, function)
a function returns a value, but a procedure does not. a method is similar to a function, but is internal to part of a class
parameters
a special kind of variable used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.
arguments
a way for you to provide more information to a function
procedure call
a simple statement made by stating the procedure name, listing actual parameter names or values within parentheses, and adding a final semicolon
procedure abstraction
the process of breaking down a complex problem into smaller, more manageable steps.
modularity
a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality
analog data
Data with values that change continuously, or smoothly, over time. Some examples of analog data include music, colors of a painting, or position of a sprinter during a race.
sampling technique
the process of selecting a random number of units from a known population.
list
a sequence of several variables, grouped together under a single name.a sequence of several variables, grouped together under a single name.
element
a smaller component of a larger system.
index
a data structure to facilitate fast lookup of terms and clauses in a logic program, deductive database, or automated theorem prover.
string
a data type used in programming, that is used to represent text rather than numbers
data abstraction
The reduction of a particular body of data to a simplified representation of the whole.
array
a set of variables referenced by using a single variable name combined with an index number.
logic error
a bug in a program that causes it to operate incorrectly, but not to terminate abnormally
syntax error
an error in the syntax of a sequence of characters or tokens that is intended to be written in a particular programming language.
run-time error
a software or hardware problem that prevents Internet Explorer from working correctly.
overflow error
when the data type used to store data was not large enough to hold the data.
error detection
the detection of errors caused by noise or other impairments during transmission from the transmitter to the receiver.
test case
the actions required to verify a specific feature or functionality in software testing.
hand tracing
write the names of the variables on a sheet of paper, mentally execute each step of the code, and update the variables.
visualizations
The representation of data through use of common graphics, such as charts, plots, infographics, and even animations.
debugger
a computer program that assists in the detection and correction of errors in other computer programs.
data compression
the process of encoding information using fewer bits than the original representation.
redundancy
code that are in your source code, but are not required or have no logical effect to the output.
lossless data compression
a class of data compression that allows the original data to be perfectly reconstructed from the compressed data with no loss of information.
lossy data compression
class of data compression methods that uses inexact approximations and partial data discarding to represent the content.
linear search
method for finding an element within a list. It sequentially checks each element of the list until a match is found or the whole list has been searched.
binary search
a search algorithm that finds the position of a target value within a sorted array.
software libraries
a collection of non-volatile resources used by computer programs, often for software development.