please provide the context and any sentence fragments to autocomplete.
Algorithm - a finite set of instructions that accomplish a specific task.
Code statement - a part of program code that expresses an action to be carried out.
Expression - can consist of a value, a variable, an operator, or a procedure call that returns a value; expressions are evaluated to produce a single value.
Execute - the process of running a computer software program, script, or command.
Behavior - how a program functions during execution; often described by how a user interacts with it.
Program inputs - data sent to a computer for processing by a program; it can come in a variety of forms, such as tactile, audio, visual, or text.
Program outputs - any data sent from a program to a device; can come in a variety of forms, such as tactile, audio, visual, or text.
Event - an occurrence; things that happen; usually associated with an action (i.e. mouse click, button pressed).
Event handler - a part of code that 'handles' or listens for a specific type of event; when that event occurs, the code inside the event handler is run.
Program documentation - a written description of the function of a code segment, event, procedure, or program and how it was developed.
Comments - a form of program documentation written into the program that helps explain what the code is doing. Comments in a program do not affect how a program runs.
Logic error - a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
Syntax error - a mistake in the program where the rules of the programming language are not followed.
Run-time error - a mistake in the program that occurs during the execution of a program; programming languages define their own run-time errors.
Overflow error - an error that occurs when a computer attempts to handle a number that is outside of the defined range of values.
Testing - using defined inputs to ensure that an algorithm or program is producing the expected outcomes, in the development process.
Sequencing - the application of each step of an algorithm in the order in which the code statements are given.
Selection - determines which part of an algorithm are executed based on a condition being true or false.
Nested conditional statements - consist of conditional statements within conditional statements.
Iteration - a repeating portion of an algorithm; iteration repeats a specified number of times or until a given condition is met.
Variable - an abstraction inside a program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be an array/list or other collection that in turn contains multiple values.
Variable Types - some programming languages provide types to represent data. These types include numbers, Booleans, arrays/lists, and strings.
Element - an individual value in an array/list that is assigned a unique index.
Index - a common method for referencing the elements in a list or string using natural numbers.
String - an ordered sequence of characters.
String concatenation - joins together two or more strings end-to-end to make a new string.
Substring - part of an existing string.
Boolean value - a variable that is either true or false.
Data abstraction - provides a separation between the abstract properties of a data type and the concrete details of its representation; manages complexity in programs by giving a collection of data a name without referencing the specific details of the representation.
Procedural abstraction - provides a name for a process and allows a procedure to be used only knowing what it does, not how it does it; allows a solution to a large problem to be based on the solutions of smaller subproblems.
Modularity - the subdivision of a computer program into separate subprograms.
Function/Procedure - a named group of programming instructions that may have parameters and return values; also known as method or function.
Parameters - input variables of a function/procedure.
Arguments - specify the values of the parameters when a procedure is called.
Array or List - an ordered sequence of values.
Traversing - traversing a list can be complete traversal, where all elements in the list are accessed, or a partial traversal, where only a portion of elements are accessed.
Linear search (sequential search) algorithms - check each element of a list, in order, until the desired value is found or all elements in the list have been checked.
Binary search algorithms - starts at the middle of a sorted data set of numbers and eliminates half of the data; this process repeats until the desired value is found or all elements have been eliminated.
Software library - contains functions/procedures that may be used in creating new programs.
Application program interfaces (API) - are specifications for how programs, functions or procedures behave and can be used by other software.
Simulation - a representation that uses varying sets of values to reflect the changing state of a phenomenon.
Problem - a general description of a task that can (or cannot) be solved algorithmically.
Instance - specific input of a problem (ex: sorting is a problem; soring the list (2, 3, 1, 7) is an instance of the problem.
Decision problem - problem with a yes/no answer (ex: is there a path from A to B?).
Optimization problem - problem with the goal of finding the "best" solution among many. (ex: what is the shortest path from A to B?)
Efficiency - an estimation of the amount of computational resources used by an algorithm; typically expressed as a function of the size of the input.
Reasonable amount of time - algorithms with a polynomial efficiency or slower (constant, linear, square, cube, etc.).
Unreasonable amount of time - algorithms with exponential or factorial efficiencies.
Heuristic - an approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that are guaranteed to always find an optimal solution are impractical.
Decidable problem - a decision problem for which an algorithm can be written to produce a correct output for all inputs. (ex: "Is the number even?")
Undecidable problem - one for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer.
English