Computer Science 241 - 3 of 4
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.
Huffman encoding
A type of compression algorithm used in programming.
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.
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.
Java packages
A Java package is a technique for organizing Java classes into namespaces,providing modular programming in Java
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.
method library
A collection of predefined methods that can be used to build up a program.
input device
A computer hardware device used to enter data into a program or an application,such as a keyboard, mouse,or secondary storage device,such as a hard drive, floppy drive, or flash drive.
increment
A computer operation that increases the value of a variable by 1,such as x++
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)
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
monitor
A display device fora computing system, such as a screen or projector.
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.
malware
A general term for malicious software or code (called malcode) specifically designed to damage, disrupt,steal or inflict illegitimate action on data, hosts, or networks.
low level language
A language easily understood and executed by a computer, like machine language,assembly, or byte code
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.
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.
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.
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 asocial security number that belongs to a person.
modifier
A method (also called a mutator)that belongs to an object that allows public access to the privatedata of that object to makechanges to that data, most often starting with the prefix "set...", like setName, or setSize.
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.
host
A network host is a computer or other device connected to a computer network
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.
method
A process in Java that can be either a procedure (voidmethod) that performs an action of some sort, or a function (return method) that returns a calculated value.
loop
A process in programming that repeats a process a certain number of times.
traverse
A process of visiting all of the elements in a data structure in a certain order, such as an array,graph, or tree.
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.
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.
transistor
A semiconductor device used to amplify and switch electronic signals and electrical power
tree topology
A tree is a widely used abstract data type (ADT) or data structure implementing 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.
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.
index value
A value indicating the position of an element inside an array data structure
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.
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.
integer
A whole number value, positive or negative
module
Each of a set of standardized parts, independent units, or previously defined functions that can be used to construct a more complex program.
GUI
Graphical User Interface - A newer 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.
GIF
Graphics Interchange Format (better known by its acronym GIF is a bitmap image format that was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web due to its wide support and portability.
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.
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.
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 Java Doc, 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)
MAN
Metropolitan Area Network - a LAN that spans the geographic 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.
meaningful identifiers
Names used in programming for classes, methods,variables, and constants that help describe the general purpose and function associated with that item.
topology
Network topology ist he arrangement of the various elements(links, nodes, etc.) of a computer network
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;
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 partof World War II.
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite (TCP/IP) to link several billion devices
Java API
The Java API (Application Programming Interface) is the documentation that describes the functions and characteristics of the Java programming packages.
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.
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.
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.
hardware
The physical devices in a computer system,such as the main unit,monitor, keyboard,printer, etc.
hard drive
The primary device in a computer that is used for secondary storage, such as the operating system and various application programs needed by the computer to function.
initialization
The process of assigning a beginning value to a variable or constant in a computer program.
troubleshooting
The process of debugging a program by detecting and correcting errors in syntax and logic
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
garbage collection
The process of recycling memory previously allocated to methods or objects.See finalizer.
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 parentheses to indicate operations outside the normal operator precedence, such as needing a subtraction operation to occur before a multiplication. See prefix and postfix.
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.
heuristic solution
n 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.
lexicographical order
natural order in which words are alphabetized.
lexical error
An error in programming that is characterized by a misspelling of a word, or reserved words listed out of order.
integrated circuit
Another name for a chip,an integrated circuit(IC) is as mall electronic device made out of a semiconductor material. The main CPU for a computing device is an integrated circuit
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#.
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 referred 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.
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.
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.
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.
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.
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.
immutable
In programming, an object is immutable when its current value cannot be changed or altered inits 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 predefined 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
internal path length
In tree processing,this is the sum of all the lengths from the root to the external nodes in a tree.
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 sizeof 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.
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 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.
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.
JPEG
Short for Joint Photographic Experts Group, and pronounced jay-peg. JPEG is a lossy compression technique for color images.
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.