Untitled Flashcards Set

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