CS Vocabulary List
Introduction to Programming and Algorithm
Design (COP-1000)

Every field of study has a vocabulary to define and describe
objects and actions specific to that field. Computer science
(CS) is no different. Because CS is among the newest of the
sciences, it has borrowed much of its vocabulary from the
others, as well as non-scientific English, giving common terms
new meanings. Without a working knowledge of these terms, it
is not possible to learn or communicate effectively in CS.
This page includes the vocabulary you need to
learn not only for this course, but for your future CS work. The
terms are taken (with some changes) from Python Programming:
An introduction to computer science (Zelle, J. M.(2004),
Wilsonville, OR: Franklin, Beedle & Associates) and How to
Think Like a Computer Scientist: Learning with Python
(Downey A., Elkner J., and Meyers,C. (2002), Wellesley, MA:
Green Tea Press).
For more complete computer-related dictionaries, see
FOLDOC or
Webopedia.
A-B | C-D |
E-F | G-H | I-J |
K-L | M-N | O-P |
Q-R |
S-T | U-V | W-Z
- A-B
-
- accessor method
- A method that returns the value of one
or more of an
object's instance variable(s), but does not modify the object.
These are usually given the prefix
get.See
names.py
- accumulator pattern
- A common programming pattern in which
a final answer is built a piece at a time in a loop.
See
names.py
for example of accumulating character
values.
- accumulator
- A variable that is used to hold the
result in the accumulator pattern.
See
lh.py
- algorithm
- A set of
instructions for solving a
problem or a class of problems
by a mechanical, unintelligent process.
- aliasing
- The situation in which two or more
identifiers refer to exactly the same
object. If the object is
mutable, then changes made through one
identifier will be seen by the others.
- analog
- A system in which values are represented by
continuously variable signals. Compare to digital.
- analysis
- In the context of the software development lifecycle,
this refers to the process of studying a problem and
figuring out what a computer program
might do to solve it. 2) Studying a problem or
algorithm mathematically to
determine some of its properties, such as time efficiency.
- and
- A binary Boolean operator that returns
true when both of
its operands are true.
In C/C++ and Java, this operator is written as
&&. Its
truth table is:
| p |
q |
p and q |
| False |
False |
False |
| False |
True |
False |
| True |
False |
False |
| True |
True |
True |
- application programmer's interface (API)
- A specification or documentation of the functionality
provided by a
library module. A
programmer needs to understand the API to be able to use a
module. In the Python IDLE, load the module you want and then
display its API with the
help function:
>>> import
random
>>> help(random)
- argument (actual parameter)
- A value that is passed to a
function
or method when it is
called. This value is assigned to the
corresponding parameter
in the function. See example
lunitidal.py
- array
- A homogeneous
sequence type.
- ASCII
- American Standard Code for Information Interchange. A standard
for encoding text where each character is represented by a number
0-127 (7 binary bits). See an ASCII table
here.
- assignment
- A statement that assigns a
value to a
variable. Assignment
is always from right to left, so the syntax
is different from mathematics:
x = 3;
/* variable x assigned integer value 3 */
3 = x; /* invalid! Left-hand
side must be a variable */
- assignment operator
- The binary operator =
is used for assignment. The right-hand
operator (an expression) is
evaluated and the result assigned to the
left-hand operator (a variable). Often
pronounced "gets."
- associative type
- A unordered compound data type
that locates a value via a key
rather than by its relative position in an ordered
sequence.
- attributes
- The instance variables and
methods of an
object.
- batch
- A mode of processing in which input and output is done through
files rather than interactively.
- base case
- A branch of the conditional
statement in a recursive function that
does not result in a recursive call. See
recurse.py
- binary
- 1) Base two numbering system in which the only digits are 0 and
1. 2) An operator that requires two
operands
(e.g.,
+ or
*).
3) Any
situation or system involving a choice or condition between two
alternatives (yes-no, on-off, up-down, true-false).
- bit
- Short for binary digit. The fundamental
unit of digital data, often represented using the symbols 0 and 1.
- block
- In Python, a group of consecutive
statements with the same indentation; in C/C++ and Java, any
group of consecutive statements enclosed in braces.
- body
- The block in a
compound
statement that follows a header.
- Boolean Algebra (Boolean logic)
- The rules that govern simplification and rewriting of
Boolean expressions.
- Boolean expression
(logical expression)
- A truth statement. A Boolean expression evaluates to either
true or
false.
- Boolean operators (logical operators)
- Connectives for constructing Boolean expressions. In Python,
and,
or, and
not.
- break statement
- A statement that causes the
flow of execution to exit a
loop. Implemented in Python, C/C++ and Java with
the keyword break. See
lh.py or
eggs.py
- bug
- An error in a program. See
debugging.
- byte
- A grouping of 8 bits. Bytes are the smallest
addressable unit of memory or
external storage. Each byte can represent 256 distinct patterns of
bits.
- byte code
- An intermediate form of computer language. High-level languages
are sometimes compiled into byte code which is then translated to
machine language by software (often called a runtime engine) at
execution time. In Python, files with a
pyc
extension are byte code. Java byte code files have the extension
class
- C-D
-
-
-
call
- The process of transferring control to a function
and possibly some values as arguments that will be assigned to
the function's parameters. The implicit
assumption is that control will eventually return to the point
of execution just after the function call.
- central
processing unit (CPU)
- The "brain" of the computer where numeric and logical operations
are carried out.
- chained conditional
- A program structure that uses a sequence of
conditional statements to chose
from among more than two alternatives; see the example program
tomato.py
- character
- 1) Traditionally, any symbol that can be represented in one
byte, as in the ASCII character
set; 2) More generally, the fundamental unit of any written
natural language
- class
- A user-defined compound type.
A class can also be though of as a template for the objects that
are instances of it. See
names.py for a class
definition.
- class attribute
- A variable that is defined inside a
class definition by outside any
method. Class attributes are accessible from
any method in the class and are shared by all instances of the class.
See names.py
for example.
- client
- In object-oriented
programming, any portion of program code
that uses the services of of an object by invoking
its
methods. See
names.py for example of a
client that is in the same file as the class whose services it is
using.
- clone
- To create a new object that has the same
value as an existing object. Copying a reference to an object
creates an alias by doesn't clone the
object.
- code
- Any part of a computer program, usually
in high-level language.
- coding
- The process of turning an algorithm
into a computer program.
- comment
- Information in a program that is meant
for other programmers and has no effect on the
execution of the program.
- comment-out
- To keep some code from being translated and
executed without having to delete
it by turning it into a comment . This is
done with scaffolding and
debugging code that might be needed again
when the program is modified.
- compiler
- A complex program that translates a
program written in a high-level language into the
machine language that can be
executed by a particular
computer. A compiler translates the entire
program at one time, saving it for later execution.
- composition
- 1) The ability to combine simple expressions
and statements into compound expressions
and statements in order to represent complex computations concisely; 2)
using objects as instance variables of other objects
- compound data type
- A data type in which the
values are made up of components, or elements,
that are themselves (more elementary) values.
- compound statement
- A statement that consists of a header
and a body; in Python, the header ends with a
colon (:) and the body is indented
relative to the header; in C/C++ and Java, a compound statement is
any sequence of statements enclosed in braces, indented by
convention
- computer (computer
system)
- A machine that stores and manipulates data under the
control of a changeable program.
- computer science (CS)
- The study of what can be computed. See Wikipedia article
here.
- concatenate
- To join two operands end-to-end. See
names.py
for an example.
- condition
- A Boolean expression, usually
used in decision and
loop structures.
- conditional execution
- A decision structure that
consists of only one branch, which is executed if the
condition associated with the if is
true. See the example program
getA.py
- conditional statement
- A statement that controls the
flow of execution depending on some
condition.
- console
- The generic name for the main interactive input and output
devices of a computer system. On a typical personal computer, the
term console refers to the keyboard (input) and monitor (output).
- constant
- A literal or a qualified
variable that is given an initial value that
cannot be changed during program execution. Python does not allow a variable to qualified as a
constant, but C/C++ does, using the keyword const. Java does the same thing with
final.
- continue statement
- A statement that causes the current
iteration of a loop to
end. The flow of execution goes to
the top of the loop, evaluates the
condition, and proceeds accordingly.
Implemented in Python, C/C++ and Java with the keyword
continue.
- constructor
- A method that creates (instantiates)
a new
object. In a Python class,
it is the __init__
method. Some languages like C++ and Java allow a class to have
multiple constructors to give the client flexibility in how
objects are instantiated. See
names.py.
- control codes (escape character)
- Special characters that do not print, but are used to control
communication or position the cursor or printhead. In
ASCII, control codes are assigned numbers 0-31.
- control structure
- Programming language
statement that controls the
execution of other statements; in
structured programming
languages, the three basic control structures are sequence
(the default), selection (a decision structure), and
repetition (a loop structure).
- coordinate transformation
- In graphical programming, the
mathematical operation of changing a point or set of points from one
coordinate system to a related one.
- counted loop
- A loop control
structure written to
iterate a specific number of times. Also
called a counter-controlled loop or definite loop.
- counter
- A variable, usually an
integer type, used to count something. It is
initialized to zero and then incremented.
- cryptography
- A branch of computer science; the study of techniques for
encoding information to keep it secure.
- cursor
- An invisible or blinking marker that keeps track of where the
next character will be displayed on the console.
- data
- The values that a computer
program
manipulates.
- data bus
- The electronic circuit that connects
RAM and
CPU. Most
modern computers are designed with 32-bit or 64-bit wide data buses.
The width of the bus determines the amount of data that can be
transferred in one
machine cycle.
- data structure
- An organization of data arranged to facilitate its processing.
Data structures can be sequence types like an array
or list, or associative types like a
dictionary or set.
- data type
- A set of values, often referred to as just type. Two basic types in most
programming languages are
integer and floating point types. The type of an item determines what values
it can have and what operations it supports.
Strongly-typed languages (C/C++ and Java) require
variables to be declared to be of a specific
type, which cannot be changed. Python allows variables to be reused
to hold different types.
- debugging
- The process of finding and removing any of the three kinds of
programming errors: syntax errors,
semantic errors, and
runtime errors.
- decision structure
(selection structure)
- A control structure that
allows different parts of a program to
execute depending on the
exact situation. Usually, decisions are controlled by Boolean
expressions. In Python, C/C++ and Java, decision structures
begin with the reserved word
if.
- declaration
- In C/C++ and Java, a statement that defines a
variable identifier
and its
type. In Python a variable's type is
determined by the type of value assigned to it.
- decrement
- To decrease the value of a variable by one, or by a constant
value.
- default
- A value to be used or an action to be taken when no other is
specified.
- definite loop
- See counted loop.
- delimiter
- A character used to separate tokens in a
line so they can be parsed.
- design
- The process of developing a system that can solve some problem.
Also the product of that process.
- deterministic
- Describes a system or program whose future state or outcome can
be exactly predicted; contrast with probabilistic.
- development plan
- A process for developing a program. See:
- o prototype development
- o incremental development
- o pattern matching
o top-down design
- dictionary
- An associative type that is a
collection of unordered key-value pairs
that maps keys to values.
- digital
- A system in which values are represented by
discrete symbols. In digital computer systems, values are
represented by patterns of binary
data arranged in bytes.
Compare to analog.
- directory
- A named collection of files, usually
maintained by the operating system. Also called a folder.
- dot notation
- 1) The syntax for calling a
function in another module,
specifying the module name followed by a dot (period) and the
function name; 2) The syntax for invoking an
object's method,
specifying the object name followed by a dot and the method name
(see names.py
for an example).
- E-F
-
- element
- One of the values in a
compound data type.
- empty string
- An object that has the
data type string,
but does not contain any characters. In
Python, C/C++ and Java, the literal empty
string is written as a set of quotes with no characters between
them:
""
- encapsulation
- 1) To divide a large complex program
into components (like functions) and
isolate the components from each other (by using
local variables, for example.); 2)
To hide the details of a process inside an
object.
- encode
- To represent one set of values using
another set of values by constructing a mapping between them.
- encryption
- The process of encoding information to keep it private.
- end-of-file loop
- A programming pattern used to
read a file line-by-line.
- EOF
- Literally, "end-of-file". 1) An actual
character encoded at the end of a file
or keyed by the user to indicate the end of input; 2) The
return value of a
function indicating there is no more
input to process from the specified source.
- escape sequence
- A way to write a control code
as a literal, usually beginning with the
backslash (\), followed by a
printable character used to designate a nonprintable character,
such as \n for
newline (ASCII 10).
- evaluate
- To simplify an expression by
performing the operation specified in order to yield a single value
-
event
- In GUI
programming, an outside action such
as a mouse click that causes something to happen in a
program. Also used to describe the object
that is created to encapsulate the information about the event.
- event-driven
- A style of programming in which
the
program waits for events
to happen and responds accordingly.
- exception
- A runtime error. Exceptions
happen when an event occurs that has no code to handle it, like
a division by zero, or an attempt to open a file for input that
does not exist. Also called signals in C.
- exception handler
- Code that is provided to be called when an
exception occurs, rather than having
the program crash. See the example program
eggs2.py. Also called
signal processing in C.
- executable
- Object code that is ready to be
loaded into memory and
executed.
- execute (execution)
- To run a program or segment of a program;
that is, to actually have a computer perform
the machine code instructions into which
the program has been translated.
- expression
- A combination of one or more literals
and variables joined by
operators that represents a single
value; the part of a
program that produces data.
- external storage
- Any memory associated with a computer system that is not
directly accessible in a machine
cycle. External storage is typically implemented with hard
drives, floppy drives, network drives, CDs or DVD drives and
similar components. External storage is slower to access than
main memory, but retains its
contents without power (is non-volatile.
- fetch-execute cycle (machine cycle)
- The process a computer carries out to
execute a
machine code
program; each cycle consists for four generic steps: 1)
fetch the next instruction from RAM
into the
CPU; 2) decode the
instruction; 3) execute the instruction; 4) store the result
- file
- A named entity, usually stored on a hard drive or other
external storage that contains a stream of bytes.
- flag
- A variable used to reflect the
status of a binary condition. Also called
a switch.
- floating point
- A data type for representing numbers
with fractional values. Floating point types usually have larger
ranges than can be represented by integer
types, but are only approximations with a specified number of
significant digits.
- flow of execution
- The order in which statements are
executed during a
program run; also called flow of
control
- flowchart
- A graphical depiction of the flow of
execution in a
program or
algorithm.
- format string
- A string that begins with the % symbol
and contains a sequence of printable characters and format
specifiers that determine how values output should look. See the
example
lunitadal.py
- fruitful function
- A function that yields a
return value. See
lunitadal.py
- function
- A named sequence of statements that
performs some useful operation. Functions may or may not take
parameters and may or may not produce a
result (return value).
- function definition
- A set of statements that creates a
new function, specifying is name,
parameters, and the statements it
executes when called.
- G-H
-
- garbage collection
- A process carried out by dynamic
programming languages (e.g.,
Python, Lisp, Java), in which memory locations that
contain values that are no longer in use are freed up so that they
can store new values.
- generalize
- To replace something unnecessarily specific (like a
constant value)
with something appropriately general (like a
variable or
parameter). Generalization makes
code more versatile, more likely to be reused, and
sometimes even easier to write.
- graphics
- The visual representation of values
or objects using
pixels.
- graphical user
interface (GUI)
- Describes a class of programs whose
interaction with the user
involves heavy use of graphical components such as windows,
menus, and buttons. Compare to
text-based interface.
- graphics window
- A window on screen where graphics can be drawn.
- handle
- 1) To prevent a runtime error
from terminating a program by "catching" it in an
exception handler; 2) A
reference to an object.
- hardware
- The physical components of a computer system.
- header
- The line of code that precedes the
body of a compound
statement, usually in
function definitions or
decision or
loop structures.
- Hello, world!
- The ubiquitous first computing program.
See examples:
o hello.py
o hello.c
o Hello.java
- heterogeneous
- Capable of containing more than a single
data type at one time. Python
lists, for example.
- high-level
language
- A programming language like Python, Java, or C/C++ that
is designed to be easy for humans to read and write.
- histogram
- 1) A list of integers in
which each element counts the number of times something
occurs; 2) A bar-graph like graphical depiction of the
above.
- homogeneous
- Capable of holding values of only a single
types, such as arrays.
- I-J
-
- identifier
- The name given to a program entity (variable,
function,
class, instance). Identifiers must
follow the syntax rules for the programming language being used, and
should comply with common programming conventions for that language,
too. For example, in C, by syntax rules identifiers for
variables must be 1-32 characters in length, consisting only of
upper-and lower case alphabetic characters, digits, and the
underscore symbol. By
convention, identifiers for variables start in
lowercase.
- if statement
- The way a decision structure
is implemented in Python, C/C++, and Java.
- import statement
- A Java or Python statement that makes
an external library module
available for use within a
program; in C and C++ the
preprocessor directive #include
is used for this purpose.
- immutable type
- A compound data type
whose elements cannot be
modified. Assignments to elements of immutable types
cause an error.
- increment
- To increase the value of a
variable by one; more generally, to increase the
value of a variable by a constant value.
-
incremental development
- A program development plan intended to reduce
debugging by adding and testing
only a small amount of code at a
time.
- indefinite loop
- A loop for which the number of
iterations required is not necessarily
known at the time the loop begins to
execute, as opposed to a counted
loop.
- index
- An integer expression used to select a member of a
sequence type, such as a
single character from a string.
- indexing
- Selecting a single item from a sequence type based on its
relative position in the sequence. Usually used by specifying the
sequence name and the index in square brackets:
some_sequence[ x ],
where x can be any
integer expression.
- infinite loop
- A loop that does not terminate. See
lh.py or
eggs.py for
deliberate use of an infinite loop.
- infinite recursion
- A function that
calls itself
recursively without ever reaching the
base case. Eventually, an
infinite recursion causes a
runtime error.
- inheritance
- Defining a new class as a specialized
extension of another class.
- initialize
- To explicitly assign a value
to a variable such as
counters,
accumulators, or flags before
they are used in a computation or tested in a condition.
- initialization method
- See constructor.
- Input, Process, Output (IPO)
- A common programming pattern. The
program prompts for
input, processes it, and outputs a response.
-
instance
- A particular object of some
class.
- instance variable
- A piece of data stored inside an object.
- instantiate
- To create an instance (a new object) of some
class by invoking its
constructor; analogous to a
variable declaration.
-
integer
- A data type for representing numbers
with no fractional component. It uses a fixed number of bits
(commonly 32) to represent an exact whole number. Different
programming languages may allow
different size integer types, which may be signed (non-negative and
negative) or unsigned (magnitude only).
- integer division
- An operation that divides one
integer by another and yields an integer result. Integer
division yields only the whole number of times that the
numerator is divisible by the denominator and discards
any remainder (i.e., truncates the result).
See the example program
eggs.py.
- integer expression
- An expression that evaluates to an
integer value.
- iteration (iterate)
- See loop.
- interactive mode:
- A way to use an interpreter
(like Python) by typing a statement
at a prompt, which will be
immediately translated and executed.
- interface
- 1) The boundary between a system and its
environment; 2)The specific syntax needed to call a
function or invoke a
method.
- interpreter
- A computer program that simulates the
behavior of a computer than understands a
high-level language. It translates the lines of
source code one-by-one and carries out the operations.
- intractable
- A problem too difficult to be solved in practice, usually
because it would take too long.
- instruction
- A code that causes the computer to perform a
specific operation, such as add two values or compare
one value to another. Different computers are designed
with different instruction sets, so a
machine language program
that works on one computer may not work on another.
- invoke
- To call a method.
- iterate
- To do multiple times. Each execution of a
loop body is called an
iteration.
- K-L
-
- key
- 1) In encryption, a special value that
must be known to either encode or decode a message. 2) In the
context of data collections, a way to look up a value in an
associative data type, like a dictionary, where values are
associated with keys for future access.
- key-value pair
- One of the items in a dictionary.
- lexicographic
- Having to do with string ordering.
Lexicographic order is like alphabetical order, but based on the
underlying numeric codes that represent the string's
characters.
- library
- An external collection of useful functions
or
classes that can be imported and used in a
program. For example, the Python
math and
string
modules, the C Standard Library, or the C++ Standard Template
Library (STL).
- linker
- A program that combines one or more files
containing object code into a
single file containing executable code. The linker resolves external
references among the files, such as function
calls. The output of a linker is a
machine-code program ready to be loaded
into memory and executed.
- list
- 1) Generally, a sequence data structure that is kept in some
order; 2) A Python data type for
representing sequential collections. Lists are
heterogeneous and can
grow and shrink as needed. Items are accessed through subscripting.
- literal
- A way of writing a specific value in a
programming language,
also called a constant. For example,
3
is an int literal
and "Hello"
is a
string literal.
- local variable
- A variable defined inside a
function. It may only be referred to
within the function definition. See scope.
- long int
- 1) Generally, an integer larger than can be held in the
natural word
size of a computer, often four bytes; 2) A Python
data type that can represent indefinitely
large (or small) integers.
- loop (repetition structure)
- A control structure for
executing portions of a
program multiple times.
- loop and a half
- A loop structure that has an exit
somewhere in the midst of the loop body. In
Python this is accomplished via a
while true: ...
break combination. (see
lh.py)
- loop index (loop variable)
- A variable that is used to control a
loop. In the
statement:
for i in range(n),
i
is being used as a loop index. See the sample program
recurse.py
- low-level language
- A programming language that is designed to be easy for a
computer to execute; also called machine
language or assembly language.
- M-N
-
- machine code (object code)
- A program in
machine language.
- machine language
- The low-level (binary) instructions that a
given
CPU can
execute.
- macro
- An identifier that is
replaced by specified sequence of text
when encountered in a program.
The macro may include one or more commands and
parameters that can be replaced
by arguments. See the example
program
macro.c
- main memory (RAM)
- The place where all data and program instructions that the
CPU is currently working on reside. Also known as random access
memory (RAM). Organized into addressable bytes,
RAM can be accessed in a single machine cycle. RAM is faster to
access than external storage, but
requires power to retain its contents (is volatile).
- manipulator method
- A method that computes new
data. Compare with accessor
method and mutator method.
See
names.py for an example.
- mapping
- A general association between keys and
values. Python dictionaries implement
a mapping.
- meta-language
- A notation used to describe the syntax of
a computer language.
- method
- A function defined inside a
class. Objects of that class are
manipulated by invoking their methods.
- mixed-type expression
- An expression involving more than one
data type. Usually used in the context of
combing integer and
floating point types in numeric
computations.
- module
- Generally, any relatively independent part of a
program. In Python, the term is also
used to mean a file containing code that can be imported and
executed.
- module hierarchy chart
- A diagram showing the functional structure of a
program. A line between two
modules
shows that the one above uses the one below to accomplish its
task.
- modulus operator
- An operator, denoted with a
percent sign (%), that works on
integers and yields the remainder when one number is
divided by another; for example: 17 % 5 yields 2. Also
see the example program
eggs.py
- mutable type
- A compound data type whose
elements can be assigned new values.
- mutator method
- A method that changes the state of an
object (i.e., one that modifies one
or more of the
instance variables). These are
usually given the prefix set. See
names.py
- natural language
- A language that has evolved over time to allow for
general communication, without specific direction.
- nesting
- The process of placing one
control structure inside of another.
Loops
and decisions may be
arbitrarily nested.
- newline
- A control code that marks the
division between lines in a file or a multiline
string. (ASCII 10, written in code as
'\n'.)
- not
- Logical negation; a unary
Boolean operator that reverses
the truth value of a Boolean
expression. In C/C++ and Java, it is implemented with the
symbol !. Its truth table is:
| p |
not p |
| False |
True |
| True |
False |
- O-P
-
- object
- 1) A program entity that has some data (called
instance variables or data members)
and a set of operations (called methods or
member functions) to manipulate that data; the basis of
object-oriented programming; 2) A thing to which a
variable can refer.
- object code
- The output of the compiler
after it translates a
high-level language program.
- object-oriented
- Design or programming that
focuses on constructing classes that model the real world, and
includes the characteristics of polymorphism and
inheritance.
- open
- The process of associating a file in secondary memory with a
variable in a program
through which the file can be manipulated.
- operand
- One of the values an
operator acts on.
- operator
- A special symbol that represents a simple computation like
addition, multiplication, or string
concatenation used to combine
expressions into more complex
expressions.
- operator overloading
- Extending built-in operators
(+, -,
*, etc.) so that they work
with user-defined types.
- or
- A binary Boolean operator that returns
true when either or both operands are true.
In C/C++ and Java, it is implemented with the symbol
||. It's truth table is:
| p |
q |
p or q |
| False |
False |
False |
| False |
True |
True |
| True |
False |
True |
| True |
True |
True |
- overflow
- A numerical result that is too large to be
represented in a numerical format; depending on the
implementation, may or may not cause a
runtime error.
- override
- 1) To replace a default. Examples include replacing a
default parameter with a particular argument, or replacing a
default method by providing a new method with the same name. 2) When a subclass changes the behavior of an
inherited method.
- parameter
- An identifier used inside a
function to refer to the value passed as an
argument; parameters are declared in the
function header. See
lunitadal.py
- parse
- To examine a program and
analyze the syntactic structure so
that it can be interpreted or
compiled.
- pass by value
- A parameter passing technique in
which a copies of arguments are passed
to a function or
method when it is
called, so the function or method can
manipulate these values without affecting variables in the
calling function.
- pass by reference
- A parameter passing technique used
in some computer languages (like C and C++) that allows the
address of a
variable
to be used as an argument, so the
called function can directly modify data local to the calling
function.
- path
- A sequence of directory
names that specifies the exact location of a
file.
- pattern matching
- A program development
plan that involves identifying a familiar
computation pattern (like
IPO) and
copying the solution to a similar problem with minor
modification.
- pixel
- Short for "picture element." A single dot on a graphical
display. See resolution.
- polymorphism
- Literally, "many forms." In
object-oriented programming, the
ability for a particular line of code to be implemented by
different methods depending on the
data type of the
object involved.
- portability
- The ability to run a program
unmodified on various different systems.
- post-test loop
- A loop construct where the loop
condition is not tested until after the loop
body has been
executed, thereby ensuring
that the loop body is executed at least once. Implemented in
C/C++ and Java with the keyword do.
- precendence
- The order in which expressions
involving multiple operators and
operands are
evaluated. Referred to collectively as rules of
precedence. Here is the operator precedence for
Python,
C, and
Java
- pre-test loop
- A loop construct where the loop
condition is tested before executing the body
of the loop; if the condition is false
when the loop is encountered the first time, the body of the
loop is not executed at all. Implemented in Python, C/C++ and
Java with the keyword while.
- priming read
- In a sentinel loop, a read before the
loop condition is tested.
- probabilistic
- Describes a system whose future state cannot be
exactly predicted, although the probabilities of
different possible states are known. These systems can
be simulated by
programs using
pseudorandom techniques.
Contrast with deterministic.
- problem
- The specification of an unknown
value or set of unknown values, usually with the
intent of developing an algorithm
that can generate the required value(s), thereby solving
the problem.
- problem solving
- The process of formulating a problem, finding an
algorithmic
solution, and then expressing that solution.
- program
- A set of instructions that specifies a computation.
- programming
- The process of creating a computer program
to solve some problem.
- programming environment
- A computer program that provides
facilities to make
programming easier. IDLE (in the
standard Python distribution) is an example of a simple programming
environment. Others are JCreator and NetBeans for Java, and Dev-C++
for C/C++. Also often referred to as Integrated Programming
Environments (IDEs).
- programming language
- A notation for writing computer programs.
Usually used to refer to high-level languages such as Python, Java,
and C++.
- prompt
- A visual cue that tells the user to input data.
- prototype
- 1) A preliminary, usually simplified, model of a system. 2) The
interface of a
function or method that specifies its
name,
parameter(s), and return value; also
called a signature.
- prototype development
- A way of developing programs starting with a
prototype and gradually testing and
improving it. Also called spiral design. See also
incremental development.
- pseudocode
- Writing down algorithms using precise
natural language, instead of a computer language.
- pseudorandom
- Sequences of numbers generated by computer
algorithms and used to simulate random
events.
- pure function
- A function that does not
modify any of the objects it
receives as parameters, nor
perform any input or output. Most
pure functions are fruitful.
- Q-R
-
- read
- A term used to describe computer input. A
program is said to read information from the keyboard or
file.
- record
- A collection of information about a single individual or
object, often represented as a line in a
file with delimiter-separated fields.
- recursion
- The process of calling the
function that is currently
executing; a recursive function
is one written to call itself. See
recurse.py
- reference
- An identifier that represents the
address of an object, allowing these
objects to be manipulated indirectly (i.e. through it's
address rather than its name). Also called pointers in C or
handles.
- relational operator (comparison operator)
- One of the operators that compares two values and returns
true or false.
In Python (and C/C++ and Java) the relational operators are:
>,
<,
>=,
<=,
==, and
!=.
- reserved word (keyword)
- An token that is part of the
built-in
syntax of a
programming language.
- resolution
- The number of pixels on a graphics screen
or window. Usually expressed
as horizontal by vertical (e.g., 640x480 or 800x600).
- return value
- The result of a function or
method. If a function call
is used as an expression, the return value
is the value of the expression. Functions or methods that have no
return value should not be used in expressions.
- RGB
- Short for red, green, blue monitor, a monitor that
requires separate signals for each of the three colors. Also, a
color that is specified by its red, green, and blue components,
each on a scale 0-255.
- runtime error
- An error that does not occur until the
program has started to execute
but that prevents the program from running; also called an
exception, or, informally, a
crash or abend.
- S-T
-
- scaffolding
- Code that is used during program
development but is not part of the final version and is either
removed or commented-out.
- script
- A program stored in a file. Usually, one
that will be executed with an
interpreter.
- script mode
- A way of using an interpreter
(like Python) to read and execute
statements in a script stored in a file
- scope
- That region of a program from which an identifier can be
referenced. For example, a variable
declared inside a
function or
method is said to have local scope, while one
declared inside a
class but outside its methods has class scope.
- seed
- The value used to start generation of a
pseudorandom
sequence.
- semantics
- What a statement or program means, as opposed to its
syntax.
- semantic error
- An error in a program that makes it
do something other than what the programmer intended; also
called a logic error
- sentinel
- A special value used to signal the end of a series of
inputs, usually from the keyboard.
- sentinel loop
- A type of indefinite loop
that continues until a special value – a
sentinel – is encountered.
- sequence type
- A compound data type that
is arranged in some linear order, whose elements can be accessed
by indexing. Often shortened to just
sequence. Examples are strings and
arrays.
- significant digits
(significant figures)
- The number of digits that are accurate in a
floating point type. In C/C++ for
example, most implementations guarantee a floating point type
double to have 15
significant decimal digits (that is, the 15 left-most digits, not
counting leading zeros, are accurate).
- simulation
- A program designed to abstractly
mimic some real-world process, usually employing
pseudorandom numbers.
- simultaneous assignment
- In Python, a statement that allows
multiple
variable to be assigned in a single
step. For example,
x,y = y,x swaps the
value of two variables; not valid in C/C++ or Java.
- slicing
- Extracting a subsequence of a string,
list, or other sequence
type.
- software
- Computer programs.
- source code
- The (human-readable) text of a program in
a high-level language.
- stack diagram
- A graphical representation of a stack of functions, their
variables, and the values to which they refer.
- state diagram
- A graphical representation of a set of
variables and the values to which they refer.
- statement
- A section of code that represents a command or action; in an
interpreted language like Python, a piece
of code that can be interpreted and
executed.
- string
- A data type for representing a
sequence of characters (text).
- structured programming
- A style of programming that uses
only sequence, decision, and
loop structures to control the
flow of execution. Also called
goto-less programming.
- substring
- A sequence of contiguous characters inside a
string. See
slicing.
- superclass
- A class which is being
inherited from.
- symbolic constant
- An identifier that is replaced in
a program, by specific
text before it is translated. See the example program
macro.c
- syntax
- The form (grammar and punctuation) of a
programming language.
- syntax error
- An error in a program that makes it
impossible to parse (and therefore
impossible to interpret or
compile).
- system
- A collection of interdependent components organized to
perform a function that interacts with and is separated from its
environment by a definable interface.
- tab
- A control code that causes the
cursor or printhead to move to the next tab stop on the current
line. (ASCII 9, and written in code as
'\t'.) See
recurse.py
- temporary variable
- A variable used to store an
intermediate value in a complex
calculation.
- text
- Human-readable symbols (characters) and groupings of those
symbols (words, paragraphs, etc.)
- text file
- A file in which the
bytes represent printable characters organized into lines
separated by newline characters.
- text-based interface
- Describes a class of programs whose
interaction with the user is confined to text
input and output. Compare to
GUI.
- token
- One of the basic elements of the syntactic
structure of a program, analogous to a
word in a natural language.
- top-down design
- The process of building a system by starting with a very
high-level algorithm that describes a
solution in terms of subprograms. Each subprogram is then
designed in turn. Also called step-wise refinement or
functional decomposition.
- traceback
- A list of the functions that are
executing, printed when a runtime error
occurs.
- traverse
- To iterate through a
sequence, performing a similar operation on each.
- truth table
- A table showing the value of a
Boolean expression for all possible combinations of values
of its subexpressions.
- tuple
- 1) A Python sequence that acts like an immutable
list; 2) In a relational database system, a
record (row)
- type conversion
- An explicit statement that takes a value of one type and
computes a corresponding value of another type; also called
casting. See example program
eggs.py
- type coercion
- A type conversion that
happens automatically; for example, in a mixed
expression of
integers and floating-point
values, the integers are "promoted" to floating-points before
the expression is evaluated
- U-V
-
- unary
- An operator that acts on a single
operand.
- Unicode
- A 16-bit alternative to ASCII that encodes
characters from all of the world's written languages. Unicode is
designed to be ASCII compatible. Read lots more about it
here.
- unit testing
- Trying out a component of a program
independent of other pieces.
- value
- A number, string, or other
user-defined item that can be stored in a
variable or computed in an expression.
- variable
- A space reserved in memory to
hold a value, that can be referenced through an
identifier. The value of a variable can be changed through
assignment.
- Von Newmann architecture
-
The basic hardware organization of the modern,
stored-program computer, in which data and
instructions are held
in the same memory structure.

- W-Z
-
- whitespace
- Any of the characters that move the cursor without displaying
(or printing) visible characters, including tab
and newline.
- widget
- A user interface component in a
GUI, like a dialog
box or button.
- word
- 1) The natural data size of a computer,
usually measured in bits, and usually the same as
the width of the data bus. 2) The smallest
meaningful unit in a natural language.
- write
- The process of outputting information from computer
memory. For example,
data is said
to be written to a file or to the
console.
|