TEXES test 141 computer science vocabulary

Ace your homework & exams now with Quizwiz!

social engineering

A non-technical method of intrusion that relies on human interaction and often involves tricking people into breaking normal security procedures.

Big O notation

A notation system used to classify algorithms (see algorithm analysis). The primary notation levels are: O(1), O(log N), O(N), O(N log N), and O(N^2)

Backus Naur notation

A notation technique for context-free grammars, often used to describe the syntax of languages used in computing.

external node

A potential node in a tree, where currently either the left or right child pointer of a node is pointing to null, but potentially could reference another node. See internal node.

while loop

A pretest loop in programming that checks a boolean condition before performing the action of the loop, and continues iterating while the condition is true.

Method

A process in Java that can be either a procedure (void method) that performs an action of some sort, or a function (return method) that returns a calculated value.

Class method

A process in a class definition that acts on the data that belongs to that class

casting

A process in computer programming where the data type of a variable is temporarily transformed into a different data type, such as casting a decimal value as an integer

Traverse

A process of visiting all of the elements in a data structure in a certain order, such as an array, graph, or tree.

pop

A process used in stack and queue processing where a copy of the top or front value is acquired, and then removed from the stack or queue.

peek

A process used in stack and queue processing where a copy of the top or front value is acquired, without removing that item, as opposed to a pop function where the item is removed from the stack or queue.

push

A process used in stack and queue processing where a new value is inserted onto the top of the stack or into the back of the queue.

robust

A process, system, organization, etc. able to withstand or overcome adverse conditions.

rootkit

A program (or set of programs) used to give unfettered administrative access to a machine. These programs attempt to hide the fact that a system's security has been compromised and usually provide a backdoor.

incremental design

A program design methodology that allows the system developer to define the system software in convenient stages.

linear data structure

A programming data structure that occupies contiguous memory, such as an array of values.

object

A programming entity that encapsulates data and related methods.

C++

A programming language also developed at AT&T Bell Labs in the late 70s by Bjarne Stroustrup, derived from C, with added object oriented features.

high level language

A programming language using words and commands easy for humans to understand and organize, but which must be translated into a low-level language like machine language or object code for the computer to understand and execute.

procedure

A programming module that performs a task of some sort, like outputting the contents of a data structure, or performing a sort on an array.

call (method, procedure, function)

A programming statement used to execute a previously defined method, function, or procedure, often sending outside information into the process using parameters

break

A programming term that ends the process in a control structure, such as a loop or switch case statement

pseudorandom

A pseudorandom process is a process that appears to be random but is not truly random.

random number generator

A random number generator (RNG) is a computational or physical device designed to generate a sequence of numbers or symbols that lack any pattern

random seed

A random seed (or seed state, or just seed) is a number (or vector) used to initialize a pseudorandom number generator.

Non-linear recursion

A recursive process that includes multiple recursive calls inside of a method, such as tree traversal methods that first traverse one branch of the tree from that node, and then the other branch.

continue

A reserved word in some languages (including Java) placed into an iterative structure, such as a loop, that interrupts the normal flow of the loop and jumps back to the next iteration, bypassing any statements listed afterwards.

string

A row of characters combined together to make a word, sentence, or other text based value.

transistor

A semiconductor device used to amplify and switch electronic signals and electrical power

system software

A set of files that contains the software that controls all of the functions of the computers, such as Windows, Linus, Unix, or Mac.

expression

A set of operands and operations that produce a mathematics based or logic based result. Contenation, or joining of strings, is also considered an expression.

Bubble Sort

A simple (and relatively slow) sorting algorithm that repeatedly loops through a list of values, comparing adjacent values and swapping them if they are in the wrong order.

Error

A situation in a program that indicates a flaw in the source code, either syntax-based (punctuation or grammar), run-time (occurs during execution, such as file not found, or division by zero), or logic based where the program runs but does not produce the desired results.

cache

A small area of fast memory located on the mother board of a computer,used by the central processing unit

Selection Sort

A sorting routine that uses a nested loop process to systematically select the best value among the unsorted elements of the array for the next position in the array, starting with position zero all the way to the end.

Escape sequences

A special character sequence included in a string that indicates a special event, such as a line feed (\n) or tab(\t), or even producing a special control characters like the \ or " character, normally used for other functions.

for each loop

A special loop in Java that traverses from start to finish an array or Java collection data structure, such as an ArrayList or Linked List, just to name a couple.

reserved word

A special word in a programming language that has a reserved meaning and cannot be used in any other way.

conditional statement

A statement in programming that makes a decision using if or if-else situations by evaluating a boolean condition.

procedure box

A symbol used in flowcharting that represents a process or event that occurs within the flow of the program.

operator

A symbol used in mathematical and logical expressions, such as the plus (+) or division (/) sign.

boolean

A term in the study of logic and programming meaning a true or false value, named after George Boole, a 19th century English mathematician, who helped developed Boolean Algebra as a new branch of mathematics

code

A term that refers to the source code, or set of instructions found in a computer program.

programming style

A term used to describe the effort a programmer should take to make source code easy to read and easy to understand. Good organization of the code and meaningful variable names help readability, and liberal use of comments can help the reader understand what the program does and why.

sequential file

A text file where information is stored in consecutive order, as opposed to a random-access file.

source code

A text listing of commands in a high level programming language to be compiled, interpreted or assembled into an executable computer program.

full tree

A tree in which every level of the tree is completely full, with no missing nodes, not to be confused with a complete tree.

tree topology

A tree is a widely used abstract data type (ADT) or data structureimplementing this ADT that simulates a hierarchical tree structure, with a root value and subtrees of children with a parent node, represented as a set of linked nodes.

Huffman encoding

A type of compression algorithm used in programming.

multicore processor

A type of computer architecture where a single physical processor contains the core logic of two or more processors.

Checked exceptions

A type of exception (execution error) that a compiler will check for during the compile process, such as the possibility of a file input error, where the code must explicitly indicate how this possible exception will be handled, either by using a "throws" statement, or by usint a "try catch" block.

repeat until loop

A type of loop in some languages that is a post test loop, similar in structure to a do while loop, but terminates when the check condition is true, unlike the do while which terminates when the check is false.

virus

A type of malware that propagates by inserting a copy of itself into another program. Almost all viruses are attached to an executable file, which means they will not be active or be able to spread until a user runs or opens the host file or program. Viruses spread when the software or document they are attached to is transferred from one computer to another.

insertion sort

A type of sort that uses a nested loop process to systematically find the best place in the current array for an unsorted item.

IP address

A unique string of numbers, usually expressed in dotted decimal notation (such as 192.168.1.1), that identifies each computer using the Internet Protocol to communicate over a network.

byte

A unit of digital information that most commonly consists of 8 bits. In Java, a byte is an integer data type with a numerical range from -128 to 127.

bytecode

A universally portable software file compiled from source code that is then translated into machine language by a software interpreter. Java works this way, where a .java file is compiled into a .class file, which contains bytecode, and then is translated by whatever device executes that file.

index value

A value indicating the position of an element inside an array data structure

Static variable

A variable in a class definition that is independent of any object of the class, but that can be used by all of the objects.

global variable

A variable in a program that is declared outside the scope of any method and is visible by every method or process within the class.

parameter

A variable located inside the parentheses of a method call or method header.

Class variable

A variable that belongs to the class, and is not specific to any particular object, indicated by the word "static", of which only a single copy exists, regardless of how many instances of the class exist

local variable

A variable that can be seen only within the confines of its block of code, such as in a method or in a loop, as opposed to a global variable.

brute force search

A very general problem-solving technique that consists of systematically checking all possible solutions or values. The breadth first search and depth first search are two examples of brute force searching.

bomb

A virus carrying a built-in time delay so that the virus becomes active after a specific "incubation" time

data structure

A way of organizing data in a computer so that it can be used efficiently, such as an array, linked list, stack, queue, or binary tree.

Access modifier

Access modifiers (or access specifiers) are keywords in object-oriented languages that set the accessibility of classes, methods, and other members. The two most common are private and public, where private limits access only to members of the class, and public grants open access.

URL

An acronym for Uniform Resource Locator and is a reference (an address) to a resource on the Internet. A URL has two main components: Protocol identifier: For the URL http://example.com , the protocol identifier is http . Resource name: For the URLhttp://example.com , the resource name is example.com .

COBOL

An acronym for common business-oriented language, a compiled English-like computer programming language designed for business use

breadth first search

An algorithm for traversing or searching a tree or graph data structures. It typically starts at the tree root and explores the neighbor nodes first, before moving to the next level neighbors

constant run time

An algorithm is said to be constant time (also written as O(1) time) the process does not depend on the size of the input, such as accessing any value of a contiguous array, a process that only involves one step, regardless of the size of the array.

sort

An algorithm used to arrange elements of an array into natural order, such as numeric or alphabetical.

Two-dimensional array

An array of values characterized by rows and columns, arranged in a grid format.

spreadsheet

An electronic document in which data is arranged in the rows and columns of a grid and can be manipulated and used in calculations.

Syntax error

An error associated with punctuation, spelling or grammar in a computer program.

Exception

An error in programming that is "thrown" when something bad happens in a program, usually during runtime. In Java, there is a whole family of Exceptions, like IndexOutOf BoundsException or FileNotFoundException. Generally there are two types: checked and unchecked, checked meaning they are checked during compile time, and unchecked when they are thrown during runtime.

lexical error

An error in programming that is characterized by a misspelling of a word, or reserved words listed out of order.

Runtime error

An error that occurs during the execution of a program.

Visual Basic

An event-driven programming language and integrated development environment (IDE) from Microsoft, first released in 1991, to be relatively easy to learn and use to create GUI based programs.

Try/catch block

An exception handling process in programming where possible error generating situations are smoothly handled during execution, with the situation is enclosed inside the try section, and one or more catches are built in to handle the possible errors that may occur. This is a key feature in making very large programs robust and error free.

universal serial bus

An industry standard connection system developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication, and power supply between computers and electronic devices.

pseudocode

An informal high-level description of the operating principle of a computer program or other algorithm.

Short

An integer data type in some programming languages that uses half as much memory storage as an int. In Java, a short uses 16 bits of storage.

String object

An object in programming that references a String

operating system

An operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs.

unary

An operator in mathematics or in logic which works on only one operand, such as the negative, positive, or complement operators

formatted

An output statement is considered "formatted" when special commands or expressions are used to control the output, such as escaped sequences, or the use of format specifiers in a printf type statement, such as System.out.printf("%s %4.2f\n","Hello",3.14);

integrated circuit

Another name for a chip, an integrated circuit(IC) is a small electronic device made out of a semiconductor material. The main CPU for a computing device is an integrated circuit

aggregate data types

Any type of data that can be referenced as a single entity, and yet consists of more than one piece of data, like strings, arrays, classes, and other complex structures

BASIC

Beginner's All-purpose Symbolic Instruction Code, a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use

shift operators

Bitwise operators in programming which shift the binary bits of a value either to the left or to the right.

bot

Derived from the word "robot", bots (also called zombies) automate tasks and provide information or services that would otherwise be conducted by a human being

Trojan

Disguised as legitimate software, Trojans are a harmful piece of software that tricks users into loading and executing it on their systems. Unlike viruses and worms they do not reproduce by infecting files, nor do they self-replicate.

Dynamic Method Dispatch

Dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time.

module

Each of a set of standardized parts, independent units, or previously defined functions that can be used to construct a more complex program.

ENIAC

Electronic Numerical Integrator And Computer, the first electronic general-purpose computer, designed and developed in 1946 at the University of Pennsylvania primarily used to calculate artillery firing tables for the United States Army's Ballistic Research Laboratory,but also included a study of the feasibility of the hydrogen bomb

XML

Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable.

FTP

File Transfer Protocol, the protocol used to transfer files across networks.

default

For variables in a class, a default value is one which is automatically assigned, like zero for numeric variables, null for objects, false for boolean. It is also a command in a switch case statement that serves as the option at the end of the statement which is executed when none of the other cases matched.

functional programming

Functional programming, as opposed to imperative programming, is a pure functional approach to problem solving. Functional programming is a form of declarative programming. Languages that fit this description include Scheme, Haskell, LISP, Racket, and F#.

linker

In computer science, a linker or link editor is a computer program that takes one or more object files generated by a compiler and combines them into a single executable file, library file, or another object file.

stack

In computer science, a stack or LIFO (last in, first out) is an abstract data type that serves as a collection of elements, with two principal operations: push, which adds an element to the collection, and pop, which removes the last element that was added.

zombie

In computer science, a zombie is a computer connected to the Internet that has been compromised by a hacker, computer virus or trojan horse and can be used to perform malicious tasks of one sort or another under remote direction. Botnets of zombie computers are often used to spread e-mail spam and launch denial-of-service attacks.

concurrency

In computer science, this is a property of systems in which several processes are executing at the same time, often associated with multi-processor systems.

complexity

In computing, complexity is defined in terms of the number of steps it takes to perform an algorithm in relation to the amount of data involved, or in terms of how much memory is required during the processing of the data. It is generally measured by the Order of Magnitude system, often called Big O.

memory address

In computing, memory address is a data concept used at various levels by software and hardware to access the computer's primary storage memory. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as unsigned integers.

distributive law

In mathematics, the distributive law takes an expression like 5(x + 7) and distributes the outside term across the two inside terms, producing 5x + 35. The same law applies in Boolean logic, with AND distributing over OR, but logic also allows OR to be distributed over AND.

this Reference

In object oriented programming, the reserved word this indicates the current object, and is usually implied, but sometimes is necessary to state explicitly for purposes of clarity in the source code.

Instantiate

In object oriented programming, this is the process of bringing into existence an object defined by a class, in Java initiated by the term "new", which calls a constructor appropriate for that object.

Abstraction

In object-oriented programming, abstraction, or "information hiding" is a term associated with encapsulation, one of three central principles (along with polymorphism and inheritance). Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency.

composition

In object-oriented programming, this is the process of combining simpler data types into more complex data types. For example in defining a Car class, it would might mad up of a BodyType class, an Engine class, and a TransmissionType class, among many other possible items.

Conventions

In programming, a convention is an agreed upon style of writing code by using indentation, capitalization practices, and use of meaningful identifier names to improve the readability of the code.

pointer

In programming, a pointer is a type of variable which refers to, or contains the memory address of, an object located elsewhere in memory, as opposed to a primitive variable which actually contains the value directly.

Immutable

In programming, an object is immutable when its current value cannot be changed or altered in its current memory location. A String object in Java is immutable, but a primitive value is not, and can be changed in its current memory location.

Hierarchy

In programming, hierarchy indicates the levels and structure of abstraction that indicate the overall structure of a program or class design, with different levels indicating various processes or interfaces are known, but the implementation may be hidden.

interface

In programming, this is an abstract class with prefined methods, but with no implementations. The most commonly used interface in programming is the Mouse interface, which consists of all the various Mouse clicking and dragging functions, which can be implemented in various ways by the programmer.

depth first search

In searching a tree structure, this brute force search process explores one complete branch of a tree all the way to the end of the branch before proceeding to another branch, as opposed to breadth first search.

absolute reference

In spreadsheets, the use of the $ to indicate a static cell in a formula, like $A1, A$1, or $A$1

order of magnitude

In the analysis process for algorithms, the order of magnitude of an algorithm is roughly the number of steps, or amount of memory it takes in order for the algorithm to execute, most often expressed using the Big O notation system, using O(1), O(N), and O(N2) as the primary levels of complexity.

Java JRE vs. Java JDK

Java Runtime Environment. It is basically the Java Virtual Machine where your Java programs run on. It also includes browser plugins for Applet execution. JDK: It's the full featured Software Development Kit for Java, including JRE, and the compilers and tools (like JavaDoc, and Java Debugger) to create and compile programs.

Java

Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and is designed to run on any platform through the use of the Java Virtual Machine (JVM)

late binding

Late binding, or dynamic binding, is a computer programming mechanism in which the method being called upon an object is looked up by name at runtime

linear run time

Linear runtime is a level of algorithm complexity which requires the number of steps directly proportional to the size of the data structure in order to process, such as outputting all of the elements of an array, or performing a linear search on an array of values.

dynamic binding

In the compile process, certain binding issues can happen "early", but some can only happen during the actual program execution, which are "late" binding. For example, the compiler can detect whether or not an assignment value for a primitive is valid, such as assigning proper values to double variable, but certain Object based assignments may not be, and can only be decided during run time, which is called dynamic or late binding.

external path length

In tree processing, this is the sum of all the lengths from the root to the external nodes in a tree.

internal path length

In tree processing, this is the sum of all the lengths from the root to the external nodes in a tree.

IDE

Integrated Development Environment - an application used in programming that combines the source code editing process, compiling and program execution process into one easy-to-use application. Common IDEs for programming include Eclipse, NetBeans, JCreator, and BlueJ.

topology

Network topology is the arrangement of the various elements (links, nodes, etc.) of a computer network

connected graph

Not to be confused with a complete graph, a connected graph is one where there exists a simple path from any vertex in the graph to any other vertex in the graph, even it takes several "hops" to get there.

number bases

Mathematical systems used to express values using a certain number of symbols, such as base ten that uses the digits 0-9, base 2 using only 0 and 1, base 8 using 0-7, and base 16 using 0-9 and A-F.

virtual memory

Memory that exists in secondary storage that is used in conjunction with primary memory (RAM) to help with program execution.

Merge Sort

Merge sort is a recursive algorithm that continually splits a list in half, until each half is either empty or one item, at which point the two halves are merged together in natural order, back up the division process until the entire list has been sorted.

Accessor method

Method in a Java class that allows and controls access to private data of objects

String methods

Methods that belong to the String class that act on the string, such as length(), substring(), indexOf(), charAt(), etc.

MAN

Metropolitan Area Network - a LAN that spans the geograhic area occupied by a city or town, usually using fiber as a backbone.

modular programming

Modular programming is 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.

object oriented

Object-oriented programming (OOP) is a programming language model organized around objects rather than "actions" and data rather than logic.

prefix

Often called "Polish notation", this is an expression system where by operators precede the operands. An example of a prefix expressions is + 3 * 4 5, which is equivalent to 3 + 4 * 5, the infix version of the expression.

postfix

Often called "reverse Polish notation", this is an expression system where by operators follow the operands, and is one used by some engineering calculators, such as some made by Hewlett Packard and often used in calculator competitions, noted for their ease and speed of use. An example of a postfix expressions is 3 4 5 * +, which is equivalent to 3 + 4 * 5, the infix version of the expression.

primary storage

Primary storage, also known as main storage or memory, is the area in a computer in which data is stored for quick access by the computer's processor. The terms random access memory (RAM) and memory are often as synonyms for primary or main storage.

meaningful identifiers

Names used in programming for classes, methods, variables, and constants that help describe the general purpose and function associated with that item.

queue

A FIFO (first in first out) data structure, similar to a stack, but where the first element added to the queue will be the first one to be removed, and where a new element is added to the back of the queue, much like a waiting line.

Java packages

A Java package is a technique for organizing Java classes into namespaces, providing modular programming in Java

AND

A binary Boolean operation that results in true only if both boolean values are true, otherwise the result is false

Java class

A class in Java is the description or blueprint for a Java object, and typically contains instance variable declarations, constructors, and various methods that are necessary to use the object.

Scanner

A class in Java that facilitates input from the keyboard or files.

Child class

A class in object oriented programming that inherits the characteristics of a parent class.

Subclass

A class whose definition inherits the characteristics of another class, called the parent class or super class.

data type

A classification identifying one of various types of data, such as real, integer or Boolean, that determines the possible values for that type

Code block

A code block is a section of code in a computer program which is grouped together. Blocks consist of one or more declarations and statements

method library

A collection of predefined methods that can be used to build up a program.

Array of arrays

A collection of similar arrays in a program, such as an array and array of integers

Array

A collection of similar data items in a program, such as an array of integers

Command-line argument

A command-line argument or parameter is an item of information provided to a program when it is started from a command line. In Java, any command-line argument provided at execution is automatically received the String [] args array indicated in the main method parameter list.

compiler

A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code). The most common reason for converting a source code is to create an executable program.

complete graph

A complete graph is a simple undirected graph in which every pair of distinct vertices is connected by a unique edge, in other words every vertex is directly connected to every other vertex in the graph.

complete tree

A complete tree (not to be confused with a full tree) is one in which there are no missing nodes when looking at each level of the tree. The lowest level of tree may not be completely full, but may not have any missing nodes. All other levels are full.

binary file

A computer file that is NOT a text file, which contains various types of information the computer understands, such as images, sounds, compressed versions of other files, or metadata for particular types of documents

decrement

A computer operation that decreases the value of a variable by 1, such as x--

increment

A computer operation that increases the value of a variable by 1, such as x++

assembler

A computer program which translates assembly language to an object file or machine language format

peripheral device

A computing device that is connected to the main unit, such as a monitor, keyboard or mouse.

contradiction

A concept in Boolean logic that means "opposite of", where if something is true, the contradiction of it is false, and vice versa.

switch statements (case, switch, and default)

A conditional control structure in programming that functions as a multi-step if else statement, where several cases are stated and examined during execution to seek a match, and then a command is executed when a match is found.

virus definitions

A data file used to update an antivirus program so it can recognize new viruses as they are discovered and documented

graph

A data structure in programming (not to be confused with a geometry style graph of a line or a parabola) which consists of a set of vertices (nodes) and edges (connections)

binary tree

A data structure that consists of nodes, with one root node at the base of the tree, and two nodes (left child and right child) extending from the root, and from each child node.

non-linear data structure

A data structure that does not occupy contiguous memory, such as a linked list, graph, or tree.

circular queue

A data structure with a fixed memory size that rotates back to the front of the array as necessary in processing push and pop sequences of data

float

A data type in programming that contains a floating point value, more commonly referred to as a decimal value, like 1.5 or 3.14

double

A data type in some languages that is designed to contain floating-point numbers, generally using twice as much memory as a float data type. In Java, a double uses 64 bits of memory compared to a float that uses 32 bits.

long

A data type in some programming languages that contains an integer value, but uses twice as much memory to store it, thus increasing the range limits of the values it can store. A long in Java uses 64 bits of memory storage, as opposed to an int that uses 32 bits.

int

A data type in various languages (short for integer) which can contain an integer

floating point value

A decimal value, such as 1.5 or 3.14.

Declaration

A declaration specifies properties of an identifier of a function, procedure, method, variable, constant, or class, but can also be used for other entities such as enumerations and type definitions.

output device

A device used in computing to display or store information, such as a monitor, printer, or secondary storage device, like a flash drive.

black box

A device, system or object in computing which can be viewed in terms of its inputs and outputs, without requiring any knowledge of its internal workings

syntax diagram

A diagram system, sometimes referred to as railroad diagrams, which is a way to represent a context-free grammar.

integer modulus

A division process that results in a whole number answer representing the remainder of the division process, discarding the actual answer.

integer division

A division process that results in a whole number answer, discarding or truncating any fractional remainder.

internal node

A existing node in a tree, either the root or any one of the children in the tree. See external node.

function

A function in programming is most often a procedure or method that performs a calculation and returns a value of some sort.

algorithm analysis

A general process that determines the amount of resources (such as time and storage) necessary to execute any particular algorithm, most commonly using Big O notation, such as O(N) or O(N^2)

C

A general, all-purpose programming language developed by Dennis Ritchie in the late 60s and early 70s at the AT&T Bell Labs, which became one of the most widely used programming languages of all time.

undirected graph

A graph that contains edges between vertices with no specific direction associated with any edge.

low level language

A language easily understood and executed by a computer, like machine language, assembly, or bytecode

leaf

A leaf is a node in a tree data structure that has no children, and is at the end of a branch in a tree.

quadratic run time

A level of complexity of an algorithm that is characterized by a nested loop process, taking roughly N2 steps to complete, so for an array size of 10 items, it would take roughly 100 steps to complete the process..

linked list

A linear data structure, much like an array, that consists of nodes, where each node contains data as well as a link to the next node, but that does not use contiguous memory.

Linear recursion

A linear recursive function is a function that only makes a single recursive call to itself each time the function runs (as opposed to one that would call itself multiple times during its execution). The factorial function is a good example of linear recursion.

Logic error

A logic error in programming is one where the program executes properly, but does not produce the desired and intended outcome.

truth table

A logic table in Boolean algebra that evaluates the parts of a logical expression and reaches a final conclusion for each of the original input values.

conjuction

A logical expression resulting in true or false that combines two boolean expressions into one using the AND operation, which requires both expressions to be TRUE for an overall TRUE result.

linear search

A loop based search process using an array of values that starts looking at the first of the list and continues towards the end of the list until the target is found, or until the end of the array is reached.

for loop

A loop structure in various programming languages where the start, check, and step are designated in parentheses immediately after the for, such as for(int x = 1; x<10;x++)

Nested for loop

A loop structure inside of another loop structure, as would be found in an insertion sort, bubble sort, or selection sort, or in the processing of a two dimensional array structure.

object code

A low-level language easily understood and executed by the computer, the result of a translation process using a compiler or interpreter.

assembly language

A low-level programming language (difficult for humans, easy for machines) that uses mnemonic opcodes, such as mov, sto, and load, to interact directly with a computer's CPU and registers, used by expert programmers to produce highly efficient and fast programs

MAC address

A media access control address (MAC address) is a unique identifier assigned to network devices for communications on the physical network segment, similar to a social security number that belongs to a person.

variable

A memory location in programming that is changeable during the execution of the program, unlike a constant which cannot be changed.

Constants

A memory location in programming that is unchangeable during the execution of the program once it has been given a value, unlike a variable which can be changed.

modifier

A method (also called a mutator) that belongs to an object that allows public access to the private data of that object to make changes to that data, most often starting with the prefix "set...", like setName, or setSize.

Constructor

A method in a class definition whose sole responsibility is to construct a new object. Classes can have many versions of constructors, a key feature of polymorphism.

microprocessor

A microprocessor, sometimes called a logic chip, is a computer processor on a microchip. The microprocessor contains all, or most of, the central processing unit (CPU) functions and is the "engine" that goes into motion when you turn your computer on.

parallel processing

A mode of computer operation in which a process is split into parts that execute simultaneously on different processors attached to the same computer.

Nested class

A nested class is a member of its enclosing class. Non-static nested classes (inner classes) have access to other members of the enclosing class, even if they are declared private.

host

A network host is a computer or other device connected to a computer network

bus topology

A network topology in which nodes are connected in a daisy chain

ring topology

A network topology where all devices are connected in a circular fashion.

router

A networking device that forwards data packets between computer networks

hub

A networking device that is the center of a star topology, where it is the center of the star and all devices connect to it, receiving network traffic from it.

quick sort

Quicksort (sometimes called partition-exchange sort) is an efficient sorting algorithm, serving as a systematic method for placing the elements of an array in order

RAM

Random Access Memory - the type of primary memory that is used by a computer in which to run programs and perform system operations.

ROM

Read Only Memory - memory that is hard-wired and used for system functions, very difficult if not impossible to change.

recursion

Recursion in computer science is a method where the solution to a problem depends on solutions to smaller instances of the same problem

RIP

Routing Information Protocol - one of the most used routing protocols used in network routing configurations.

Single-dimensional array

See Linear data structure

Sequential search

See Linear search

OS

See Operating System

height

See depth.

early binding

See dynamic binding

procedural

See imperative

Mutator method

See modifier method

JPEG

Short for Joint Photographic Experts Group, and pronounced jay-peg. JPEG is a lossy compression technique for color images.

SMTP

Simple Mail Transfer Protocol - an email protocol that enables the transfer of email messages across the network.

comments

Single lines or blocks of lines intended for documentation inside a program that describe a section of code and is not "seen" by the compiler

spyware

Software that enables a user to obtain covert information about another's computer activities by secretly transmitting data from their hard drive.

if statements

Statements in programming that check to see if a Boolean expression is true, and executes a "then" statement if so, otherwise does nothing. These are often called "one-way" conditional statements.

If-else statements

Statements in programming that check to see if a Boolean expression is true, and executes a "then" statement if so, otherwise executes an "else" statement if the condition is false. These are often called "two-way" conditional statements.

Static method

Static methods belong to all objects in a class and can be called independent of an object instance.

secondary storage

Storage other than primary storage (RAM), such as a hard drive, floppy drive, or flash drive.

TIFF

Tagged Image File Format - a computer file format for storing raster graphics images, popular among graphic artists, the publishing industry, and both amateur and professional photographers in general.

Ternary operators

The ?: operator in some languages is a shortcut way of doing an if else situation, with the combined advantage of immediately assigning or outputting the result. For example, to say if(x<5) num = 6; else num = 7;, you could say num = x<5?6:7;

ASCII

The American Standard Code for Information Interchange, a system of characters used by computers as a standard for all the letters, digits, and various characters in a language, with values associated for each characters, such as 65 for 'A', 97 for 'a', and 48 for the digit '0'

involution law

The Boolean algebra law that is much like the double negative in mathematics, where the value of the expression NOT NOT true is simply true, and NOT NOT false is false.

Harvard Mark I

The IBM Automatic Sequence Controlled Calculator (ASCC), called Mark I by Harvard University's staff, was a general purpose electro-mechanical computer that was used in the war effort during the last part of World War II.

Java API

The Java API (Application Programming Interface) is the documentation that describes the functions and characteristics of the Java programming packages.

Public access modifier

The Java access modifier public means that all code can access the class, field, constructor or method, regardless of where the accessing code is located.

final

The Java reserved word that indicates that a memory location or class definition is permanent once assigned.

new

The Java reserved word that instantiates an object, such as String name = new String ("John");

MPEG

The Moving Picture Experts Group (MPEG) is a working group of authorities that was formed by ISO and IEC to set standards for audio and video compression and transmission. An mpeg file is typically one that contains a audio/video feature of some sort.

Turing test

The Turing test is a test of a machine's ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human.

Von Neumann architecture

The Von Neumann architecture is a computer architecture commonly used in most computers, based on that described in 1945 by the mathematician and physicist John von Neumann, consisting of RAM connected to a CPU and ALU (Arithmetic Logic Unit), with input and output processes.

bit

The abbreviation for "binary digit", used to designate a single state of a computer value or signal, often notated as 0 or 1, false or true, off or on, low voltage or high voltage, etc.

sequential processing

The basic control structure in programming where commands are executed one after another, in the order in which they are listed.

XOR (exclusively OR)

The binary Boolean operation that results in true if only one of the two operands is true, with the other being false.

OR

The binary operation in Boolean logic that results in a true value if either or both operands are true.

Superclass

The class whose characteristics are inherited by another class that inherits it, called the sub class

executable code

The code that is a result of the compile process translated from source code.

"Is-a" relationship

The concept of inheritance in OOP, where one class is derived from another class. For instance, a Student class is derived from a Person class, therefore a Student "is a" Person.

edge

The connection in a graph between two vertices.

Class

The definition of an object in OOP, describing the type of data owned by the object, as well as methods that act on that data.

BMP

The file name extension for the Bitmap image file format

hexadecimal

The general terms used to indicate the base 16 numbering system, featuring the digits 0-9 and letters A-F

machine language

The language directly understood and executed by a computer, consisting of pure 0s and 1s.

associative law

The law in mathematics and Boolean algebra that allows regrouping of parentheses to achieve the same result, such as (A + B) + C = A + (B + C)

negation

The logical process of reversing the true or false state of an expression, using the NOT operation, also called logical complement, opposite of, or contradiction

Finalizers

The method in Java that belongs to all classes (originally the Object class) whose sole responsibility is garbage collection, specifically when an object is no longer referred to (pointed to) by any reference. The memory allocated to that object is returned to working memory for reuse.

Object class

The name of the Java class that is the "mother" of all objects. All other Java class automatically inherit the Object class as the top-level parent class in the hierarchy. This class provides basic methods such as the toString, hashCode, and equals methods.

Lexicographical order

The natural order in which words are alphabetized.

Moore's law

The observation made in 1965 by Gordon Moore, co-founder of Intel, that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented, and that this trend would continue for the foreseeable future.

NOT

The operation in Boolean logic that indicates negation, or "opposite of"

Assignment operator

The operator used in a programming language that gives a value to a variable or constant

Order of Operation

The order of precedence of all of the operators in a computational system, such as mathematics (PEMDAS) or logic (NAXO)

ARPANET

The original name for the Internet when it was developed by the US Department of Defense

Parent class

The parent class is the super class in a class hierarchy inheritance system. In Java, the Object class is the ultimate parent class.

parent node

The parent node in tree structure is a node, including the root, which has one or more child nodes connected to it.

ISA, Instruction Set Architecture

The part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O.

Overloading methods

The polymorphic feature of object oriented programming where constructors and methods are named the same but operate on different input parameters in order to perform the same task.

Overriding methods

The polymorphic feature of object oriented programming where methods inherited from parent classes, such as the toString method from the Object class, are redefined and customized to better fit the purpose of the current class.

Exception handling

The process in programming of handling exceptions. In Java, this is most often done by using a try catch block.

iterative processing

The process in programming that uses loop based or recursive based control structures to repeat certain processes.

swap

The process in sort routines of exchanging two values in an array, using a temporary variable, taking three steps to execute.

parameter passing

The process in the source code of a program whereby data is passed from one section of the program to another, using method calls that send actual parameters and method definitions that receive the passed data using formal parameters.

Initialization

The process of assigning a beginning value to a variable or constant in a computer program.

information hiding

The process of encapsulation and abstraction in object oriented programming that provides a programming interface to a process, but does not reveal the actual workings of the process. For example, how the systems of a car work is not necessary to know about to simply drive the car. You just need to know how to work the driving mechanisms, such as the pedals the steering column functions.

routing

The process of forwarding data packets between computer networks, performed by a router

documentation

The process of including comments inside of a program that are non-executable, but help explain a section of code to help someone trying to learn about the program more quickly understand what it does.

construct

The process of instantiating (bringing into existence) an object based on a class definition.

Concatenation

The process of joining two strings of characters into a larger string of characters, an operation often indicate by the plus (+) sign.

Garbage collection

The process of recycling memory previously allocated to methods or objects. See finalizer.

Binary search

The process of searching through an ordered set of data using the "divide and conquer" technique, which guarantees a final result in O(log N) time

Type casting

The process of temporarily forcing a variable of one type of data to behave like another one.

compiling

The process of transforming source code from a high-level programming language into object code, most typically machine language or bytecode in Java.

conditional processing

The process of using if and if-else type statements in a program to make a decision based on a boolean (true/false) condition.

bandwidth

The rate of data transfer, bit rate or throughput, measured in bits per second (bit/s), most often expressed in megabits per second. A typical WAN connection from a home or business can range anywhere from 5 Mbps to 25 Mbps. Within a LAN, speeds can exceed 1000 Mbps, or 1 Gbps

super

The reserved word in programming that designates a method or data item that belongs to the parent class, or super class.

Static modifier

The reserved word in programming that indicates that a method or variable is a class method or variable, independent of any object instance.

Scope

The scope of an identifier is the region of a program source within which it represents a certain thing.

multitasking

The simultaneous execution of more than one program or task by a single computer processor.

client

The software on a client node or machine that accesses a remote service on another server computer

spiral design

The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping.

Private access modifier

The term (private) used in Java that designates limited access to data or methods to only objects of that particular class.

octal

The term associated with the base 8 number system, which uses the digits 0-7 as symbols.

extends

The term in Java used to indicate that a class will inherit another class, used in the class header, such as class Student extends Person.

Catch

The term used in a try/catch programming block used to "catch" and handle errors or exceptions as they occur during the execution of a program

children

The term used in trees to indicate a node that extends from another node, such as left child and right child in a binary tree

Base case

The terminating scenario or situation in recursive programming that does not use recursion to produce an answer

interpreting

The translation process in some programming languages which executes a program one line at a time, instead of compiling the entire program into one executable file.

infix

The type of expression notation where a binary operator is in between the two operands, requiring the use of parenthese to indicate operations outside the normal operator precedence, such as needing a subtraction operation to occur before a multiplication. See prefix and postfix.

Null

The value in a programming language that indicates "nothing", which is the default value that objects refer to when not referencing or pointing to an object.

waterfall design

The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.

decimal

There are two common meanings for this word. One describes a real number that has a whole part and a fractional part, like 3.14. The other is the general term for the base ten numbering system, as opposed to binary (base 2), octal (base 8) or hexadecimal (base 16)

Primitive data types

These are data types in programming that literally contain the values in memory, as opposed to objects which contain memory locations of the objects to which they refer.

star topology

This is a common topology in networking where a central device, such as a switch or a hub, to which all of the network devices are connected.

directed graph

This is a graph where an edge has a direction associated with it, for example, a plane flight that takes off in one location and arrives in another. The return flight would be considered a separate edge.

do while loop

This is a post test loop in programming where the action of the loop precedes the "check if true" expression, which decides whether or not the loop should continue. The primary difference between the post and pre test loop is that the post test loop will always execute at least once before termination, where the pretest loop does not.

idempotent law

This is a property in logic denoting the fact that the state of an expression is unchanged in value when operated on by itself. For example, in logic, the expression "true AND true" is true. Likewise, so is "false and false", resulting in false.

tautology

This is a situation in logical expressions where the result of the expression is always true, regardless of the original inputs of the expression. In a truth table, the final column will show all true values.

POP

This is an email protocol for storing emails, short for Post Office Protocol.

commutative law

This is the Law that says you can swap numbers around and still get the same answer when you add or multiply. It also works with AND, OR, and XOR logic operators

Default constructor

This is the constructor either supplied by the compiler where all instance variables received default values, or one defined explicitly in the class that receives no parameters and assigns beginning values for each instance variable.

formal parameter

This is the parameter that is listed in a method header that receives a value from a method or procedure call, and is only in scope during the execution of the method.

decision diamond

This is the shape used in flowcharts that indicates a decision made in a program where an input situation is presented and the result is either true or false.

actual parameter

Value or variable used as a parameter in a method call.

pass by reference

When a parameter is passed by reference, the memory location originally referred to by the actual parameter is passed to the formal parameter, such that any changes made to the object by the formal parameter also affect the original actual parameter.

pass by value

When a parameter is passed by value, any changes made to the formal parameter do NOT affect the actual parameter.

WAN

Wide Area Network - a computer network in which the computers connected may be far apart, separated by distances spanning half a mile to thousands of miles.

worm

Worms are similar to viruses in that they replicate functional copies of themselves, but are standalone software that do not require a host program to propagate. To spread, worms exploit a vulnerability on the target system or use social engineering to trick users into executing them.

Big-Endian

"Endian"ness is the ordering or sequencing of bytes of a word of digital data in computer memory storage or during transmission. Words may be represented in big-endian or little-endian manner. Big-endian systems store the most-significant byte of a word at the smallest memory address and the least significant byte at the largest

ALU

Arithmetic Logic Unit - digital electronic circuit that performs arithmetic and bitwise logical operations on integer binary numbers. It is a fundamental building block of the central processing unit (CPU) found in many computers.

GUI

Graphical User Interface - A newere style of program interface (as opposed to command line) that features dialog boxes, clicking features such as buttons, boxes, and radial buttons, commonly seen in most modern programs.

heuristic search

Heuristic search is an AI search technique that employs heuristic for its moves. Heuristic is a rule of thumb that probably leads to a solution.

HTML

Hyper Text Markup Language - the standard markup language used to create web pages. It is written in the form of HTML elements consisting of tags enclosed in angle brackets (like <html> ).

HTTP

Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.

imperative programming

Imperative programming, as opposed to functional programming, is a paradigm in programming that is often referrred to as procedural, where a developer writes code that describes in exacting detail the steps that the computer must take to accomplish the goal. Most of the mainstream programming languages, such as C++, Java, and Python, are considered imperative languages.

Absorption law

In Boolean Algebra, the identity where a "smaller" term that also exists in "larger" terms "absorbs" the larger terms

identity law

In Boolean logic, the identity laws return the same value as the expression. For example, if A is a boolean expression, A or false is still A, as well as A and 1. This similar to mathematics where any value multiplied by 1 remains the same, and likewise any value added to zero remains the same.

disjunction

In Boolean logic, this word is associated with the OR operator.

DeMorgan's law

In Boolean logic, two laws named after Augustus De Morgan, a 19th-century British mathematician, state the result when and AND or OR expression is negated. For example, NOT(A and B) becomes NOT A or NOT B, and NOT(A or B) becomes NOT A and NOT B.

import statements

In Java, import statements bring into the compile process certain packages that contain tools and methods to be used in the program. For example, to perform file input the java.io and java.util packages must be imported into a program.

heuristic solution

In a general sense, the term heuristic is used for any process that is often effective, but is not guaranteed to work in every case, as opposed to an algorithm, which is guaranteed to work in all cases.

node

In a linked list, tree, or similar graph-based structure, a node is an object linked to other objects, representing some entity in that data structure.

Driver class

In a programming project, this is the class that contains the method where program execution begins, such as the main method in Java.

depth

In a tree data structure, the depth of the tree is most commoly expressed as the number of steps from the root of the tree to the farthest outlying node in the tree. Height is also used to mean the same thing.

Literals

Literals are values in programming statements that are explicitly stated, such as number values or character based values, as opposed to variables. For example, in the output statement, System.out.println("Hello");, the string "Hello" is a literal. However, if that value is assigned to a String called word, and then output, such as System.out.println(word);, then the output statement contains a variable, not a literal.

LAN

Local Area Network - a section of network, local to a room, house, building, small campus, or even a metropolitan area (MAN), connected by some LAN protocol, most commonly Ethernet, either via wired connections, fiber, or wireless.

logarithmic run time

Logarithmic run time is a level of complexity which requires the number of steps roughly equivalent to the log value (usually base 2) of the size of the data set. For example, for a set of 1000 values, the log base 2 value of 100 is about 10, which means it would take roughly 10 steps for an algorithm to perform its task on 1000 items in a data structure. The most common log based algorithm is the binary search.

FORTRAN

One of the original high level languages, short for Formula Translation, created by John Backus to make programming easier for math and science applications.

inheritance

One of the three pillars of object oriented programming that allows for classes to be defined based on previously defined and developed classes, inheriting all of the characteristics of the inherited class, and then expanding on those features.

Encapsulation

One of the three primary aspects of object oriented programming that incorporates related data items and methods into a class definition, including instance variables, constructors, accessor and modifer methods.

Recursive case

One of two situations in a recursive method, the other being the base case, where another method call is made, moving closer and closer to the base case, which terminates the recursive process and unstacks all previously called methods, until a final value is achieved.

shortcut operators

Operators that combine the operation and assignment process into one operation, such as +=, -=, *= or /=.

platform-specific

Platform specific means that the program only works on the specific platform (operating system) for which it was defined.

postcondition

Part of the documentation process in programming, this is often listed in describing the end result expected from a method or function in the program.

precondition

Part of the documentation process in programming, this is often listed in describing the expected state prior to the execution of a method or function in the program, in order for that method to properly execute. For example, the precondition for a binary search is the list provided is in natural ascending order.

platform-independent

Platform independence means that the same program works on any platform (operating system) without needing any modification.

Polymorphism

This term literally means in Greek, "many forms", and is key element of object oriented programming, where methods can be overloaded or overridden as needed and desired.

server

This term refers to either the software that is the server, or the hardware on which the server software is located.

precision limits

This term refers to the limits to which numerical values can be stored in computer memory. For integers, the limits are the range of values that can be stored. For floating point values, the limits are the degree to which a very large or very small value can be accurately stored and expressed, beyond which precision errors begin to occur.

Unified Modeling Language (UML)

a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system.

Unchecked exceptions

represent defects in the program (bugs) - often invalid arguments passed to a non-private method.


Related study sets

CompTIA A+ Certification Practice Test 15 (Exam 220-901)

View Set

Endocrine and Metabolic Disorders

View Set

Unit 2: Chapter 12 Wrap It Up Quiz, Chapter 3 MindTap, Gov Ch 14 Wrap It Up Quiz, Ch 16 Wrap It Up Quiz, Unit 2: Chapter 13 Wrap It Up Quiz

View Set

ITE115 Module 02: Computer Hardware Quiz

View Set