Definitions

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 

A

Absolute Path

The list of directories, starting with the root directory, that leads to the directory holding a specific file.

Absolute Pathname

The absolute path of a file followed by the filename.

Absolute Address

The absolute path of a file followed by the filename.

Access Mode

The a value that determines how a file may be used when a file object is created for it. The access mode is used to create the file object with the open()builtin function. The most commonly used access modes are

Symbol Access Mode Description
r Read text Opens a file for reading only
w Write text Opens a file for writing only
a Append text Opens a file for writing to the end of the file
r+ Read and Write text Opens a file for both reading and writing
rb Read binary Opens a file for reading binary data
w Write binary Opens a file for writing binary data

Access Permissions

Access permissions determine which accounts can access, use or modify a file or directory.

Accessor

A method that returns the value of a attribute.

Accumulator

A variable that holds a running total.

Algorithm

A step-by-step description of how to accomplish a task.

Alias

A string assigned a value in the shell. When the user enters a command using the alias, the value assigned to the alias replaces the name of the alias on the command line before the command is executed. Aliases only work when they are the first thing on the command line. In Bash, an alias cannot accept an argument. Aliases are local to the shell in which they are defined.

Ambiguous File Reference

A pathname which uses meta-characters to specify a pattern for used in pathname expansion.

Ancestor

A directory above another directory in a hierarchical filesystem.

Anchor

A meta-character in regular expressions used to indicate the beginning or end of a string.

Application

Programs that are used to get work done such as a word processor or an email client.

Appending

Adding data to the end of file.

Argument

A value given to a parameter each time the function is called. The value of each argument is assigned to the corresponding parameter in the function.

Argument (Bash)

A value that appears on the command line after the command itself. Usually, the command acts upon the argument. There may be more than one argument.

Arithmetic Expansion

A feature of the bash shell where any text inside $(( )) is evaluated as an arithmetic operation, and the result of that operation replaces the the expression and the $(( )) that surrounds it on the command line.

Assembler

A computer program that translates programs written in assembly language into the the computer understands.

Assembly Language

A computer language where individual instructions in machine language are replaced by short strings of letters. A special program called an assembler translates assembly language programs into machine language. A line of code in assembly language would look something like this

mov eax,1

Assignment

The operation of giving a value to a variable.

Assignment Operator

An operator used to gave a value to a variable. The most commonly used assignment operator is =, but there are others called augmented assignment operators.

Assignment Statement

A statement that uses an assignment operator to give a value to a variable. In Python, a single assignment statement can give a value to more than one variable. This is called multiple assignment.

Associative Array

A list of key-value pairs. What Python calls a dictionary.

Attributes

The variables holding data inside an object.

Augmented Assignment Operator

An operator that performs some arithmetic operation on the value of a variable, and assigns this new value to the variable. The Python augmented assignment operators are

B

Background

A process that is not connected to standard input, which usually means the keyboard. If you run a program in the background, you get a prompt back immediately, which allows you to run another command.

Base Case

In a recursive function the circumstances that causes the function to end. Every call to a recursive function much approach the base case.

Base Class

Another term for superclass.

Binary Number

A number written base 2, powers of 2. Each digit in a binary number can only have the values 0 or 1.

Binary Digit

The digits 0 or 1 that form a binary number.

Bit

Hardware that represents a single binary_digit.

Boolean

A value that can only be true or false.

Boolean Expression

An expression whose value can only be true or false.

Boolean Function

A function that can only return True or False.

Boolean Method

A method that can only return True or False.

Boolean Operator

An operator that can only return true or false and are used to compare two things. ==, < and > are boolean operators.

Brace Expansion

A feature of the bash shell which creates many strings from a single pattern. The pattern consists of an initial string, followed by braces ({ }) containing many strings, followed by a trailing string. The shell creates one string for each string contained in the braces, preceding that string with the string that came before the open brace and following it with the string that follows the closing brace. The strings inside the braces must be separated by commas.

Buffer

A section of memory that holds information for later processing.

Builtin Command

A command that does not exists as an executable file on disk, but is written into the code of the shell itself.

Builtin Function

A Python function which part of the Python interpreter. These functions are always available and do not have to be imported.

Byte

Eight binary digits. The number stored in each byte can be represented as an octal number.

C

Callback Function

A function or method associated with a widget that is called when the widget is activated by the user.

Case Sensitive

A computer language or environment is case sensitive when uppercase letters and lowercase letters are considered completely different. In a case sensitive environment, "FOO" and "foo" are totally different words.

Catch an Exception

When you use a try/except statement to handle an exception, you are said to catch an exception.

Character Class

A set of characters in a regular expression, any one of which can be used to match a character.

Child Directory

A directory immediately inside another directory is said to be child directory of that directory.

Child Process

A process created by another process. When a child process ends, it returns an exit status to the parent process that created it.

Class

A template that allows a programmer to create a new type of object.

Client Code

Code that imports and uses a class or a module.

Code Block

A group of statements that are executed only under certain conditions. In Python, code blocks are marked off from the rest of the text by being indented one tab stop. The function body, the body of a for loop and the clauses of an if statement are code blocks.

Colorizing

See Syntax Highlighting.

Command Completion

A feature of Bash where the shell provides the rest of the characters in a command when the user hits the Tab key after first typing part of the command.

Command Line Editing

The basic editing that can be performed at the command line using the readline library. Using command line editing, the text entry point can be moved to the beginning or end of the line, and the text on either side of the text insertion point can be removed.

Command Substitution

A feature of the shell where a command placed between $( ) is run in a sub-shell, and the output of that command replaces $( ) construction.

Comment

Text included in the script that is not read by the interpreter, but is used to explain the workings of the script to someone reading the code.

Complier

A program that reads a text file of source code and turns it into a file of binary instructions the CPU understands.

Composition

Using one function inside another.

Compound Statement

A statement that contains other statements inside it. A compound statement cannot be written on a single line.

Concatenation

Joining two things with many elements to form a new, longer thing with all the elements of both. Concatenating two strings results in a new string with all the characters in the first string followed by all the characters in the second.

Conditional statement

A control structure where a group of statements are executed only if a certain is met. The group of statements are contained in a code block.

Connection

An object in sqlite3 that lets a Python program work with a database.

Constant

A value that never changes.

Constructor

A special method inside a class definition, which is used to create an object of the class.

Control Structure

A syntactic structure that controls how and when other statements are executed.

Control Variable

The variable in a loop that gets a new value with each pass through the loop.

CPU

CPU is the Central Processing Unit. It is the part of the computer where programs are run.

CSV

A data format for text files where the value individual fields in a record are separated from each other by commas. CSV stands for Comma Separated Values.This format is often used to export the data in a spreadsheet where each line in the spreadsheet constitutes a record.

Current Directory

Your current location in the hierarchical filesystem. You can specify a file or directory in your current directory with it's name alone, without using a path.

Cursor

An object in sqlite3 that allows Python to get the results of a SQL query. To run any SQL command in Python, you must create a cursor object and then use it's execute method.

D

Daemon

A background process that provides services. Daemons are often started when the system is booted.

Data hiding

Making the attributes and methods of a class, invisible outside the object.

Data Structure

An organization of data in a computer program that allows the program to use the data efficiently for the task at hand.

Data Type

The different types of data that Python can handle, things like strings, integers and decimal numbers, are represented differently in the computer's memory. Each of representation of data is a data type.

Data Validation

Checking that data meets certain requirements before using it. For example, Checking that a value is of the correct data type or that a number is not zero before using it to divide another number.

Database

An organized collection of data structured in such a way as to make it easy to search and manipulate.

Dead Code

Code that can never be reached, such as code following a return statement in the same code block.

Decorator

A feature of Python that allows functions to be modified in a standard way. The name of the decorator appears above the function definition preceded by a @. The modification is performed before the code in the function is run.

Decrement

To subtract a specific value, such as 1, from the value of a variable

Default Value

A value that will automatically be used if it is not given by the program or user.

Definite Loop

A loop which will execute a predetermined number of times.

Delimiter

Characters used to mark the boundaries between strings.

Dependency

Other software that another software package needs to run properly.

Derived Class

Another name for a .

Descendant

A file or directory below some directory in the hierarchical filesystem.

Device Driver

Software created by the manufacturer of a device connected to a computer, such as a printer, that allows the kernel to get information from, or send information to, that device.

Dictionary

A list of key-value pairs. Elements of a dictionary are accessed by their key.

Direct Recursion

Direct recursion is an example of recursion where the thing being defined, refers to itself directly. A function that calls itself is an example of direct recursion.

Disjoint

Two sets which have no elements in common are said to be disjoint.

Dot Notation

The format used in a call to a module function or a method. For module functions, dot notation consists of the module name, followed by a ., followed by the name of the function. For methods, the what comes before the dot is a variable pointing to the object.

Driver

In procedural programming the sections of code that calls the functions that do the main work of the program. The driver controls overall working of the program.

DRY

An acronym for Ddon't Repeat Yourself, the principle that you should never write the same code twice. Whenever you find yourself repeating code, that code should be put into a function.

E

Element

A value in a list.

Encapsulation

Combining data, and the functions that work on them, into a single object and making it impossible to change the data except by using the object's methods.

Empty List

A list with no elements, written [].

Empty Set

A set that has nothing in it.

Empty String

The string with no characters in it: "".

Escape Sequence

A pair of characters, the first of which is the backslash, \ which is used to represent characters that could not otherwise be typed into a script or program.

Escaping

On the bash command line, turning off the special meaning of a character by placing a backslash, \, in front of it.

Evaluate

To obtain the value of an expression.

Evaluation

The process of obtaining the value of an expression.

Event

Action by the user with a mouse or a keyboard.

Event (Bash)

A command run from the command line that is stored by the history feature of the shell.

Event-driven Programming

A type of programming where a running program responds to events sent to it by the operating system.

Event Handler

Another name for a callback function.

Exception

The problem that caused a runtime error. Trying to open a file that does not exist is an example of an exception.

Exception Handler

The Python statements inside an except block that is run when an exception caught.

Exception Object

An object created by the Python interpreter when a runtime error occurs that contains information about the type of exception and the line in the code that caused it.

Execute Permission

The access permission that allows an account to run a program or script, or to run cd to enter a directory.

Exit Status

An integer greater than or equal to zero that a running process sends to the shell when it finishes. 0 means the program has run without error.

Expression

An expression is anything that can be turned into a value. There are four different kinds of expressions

F

Field

An individual piece of information in a record.

File

A linear arrangement of data on a storage device for a computer. Every file has a name and a location.

File Descriptor

A data structure that contains all information the operating system needs to provide access to to a file to a process. Each file descriptor is referenced by a positive integer with the first three being

File
Descriptor
Stream
0 Standard Input
1 Standard Output
2 Standard Error

File Object

An object created in the computer's memory that provides a way for a program to work with a file. A variable is created that refers to the file, and this variable is used to carry out any operations that need to be performed on the file.

Filesystem

The arrangement of data on a storage device, along with the software to store and retrieve this data.

Filter

An operation that selects certain elements of a list to create a sublist.

Flag

A boolean variable that signals when some condition exists in the program.

Floating Point

A data type for decimal numbers.

Floating Point Literal

Decimal numbers written inside a program or script. They may be written using normal decimal notation

		5.75
or using scientific notation:
		7.25e12

Flow of Control

The order in which the statements of a script or program are executed also known as the path of execution.

Foreground

A process is said to be running in the foreground, when it is connected to the standard input, which is usually the keyboard. You cannot run another command until the foreground process finishes.

Foreign Key

A column in a database table whose value is the primary key of the row in another table. The value of in this column is the primary key of the row in the other table that has data associated with the current row in the table that contains the foreign key.

Function

A function is a series of previously written Python statements that is given and name and performs some task.

Function (Bash)

A collection of shell commands that is given a name and can accept arguments through positional parameters. Functions are local to the shell in which they are defined.

Function Body

The list of statements inside a function definition.

Function Definition

The series of statements that define a function. A function definition consists of a function header followed by a function body.

Function Call

A Python statement that causes a function to run. A function call consists of the function name followed by an argument list enclosed in parentheses. If the function returns a value, then the function call is also an expression.

Function Header

The first line of a function definition, consisting of the name of the function, and any arguments the function takes enclosed in parentheses.

G

Garbage Collection

The Python interpreter keeps track of all objects that are created. When an object no longer has a variable pointing to it, it cannot be used. The interpreter periodically removes from memory all objects that having nothing pointing to them. This process is called garbage collection.

Getter

Another name for an accessor.

Geometry Manager

Another name for a layout manager.

Global Variable

A variable defined outside any function whose value can be used inside any function, without declaring it as a parameter.

Globbing

See pathname expansion.

Global Variable (Bash)

A variable that is defined in a shell and has meaning in that shell and all sub-shells created from that shell.

Graphical User Interface

A user interface that allows users to interact with the machine through graphical elements such as windows, icons, and scroll bars, instead of typing commands at a command line.

Group

A collection of accounts that can be assigned access permission. Only a system administrator can create a group.

GUI

The abbreviation for a Graphical User Interface.

H

Hard Coded

A value that is written into the script, not read in from the user or calculates. Hard coded values can never change unless the script itself is changed.

A link to a file which is actually another name for the file. A file cannot be deleted until all its hard links are deleted. A hard link cannot be created for a directory, and cannot be created except for files on the same disc volume as the link.

Hash Table

A hash table is a data structure designed to quickly find an an entry using a key value. Dictionaries in Python are implemented using hash tables.

Hashbang

Two character sequence #!. These first character is usually read as "hash" and the second as "bang"

Hashbang Line

The first line in a Unix script which starts with the hashbang and is followed by the absolute address of an interpreter program. Using the hashbang line as the first line of a script allows you to run the script by itself, without having to type the name of the interpreter on the command line.

The first line of a compound statement such as for loops, function and class definitions.

Here Document

A feature of Bash that allows a file to written inside a script, where it is used as input.

Hierarchical Filesystem

A filesystem with one directory at the top that contains all other files and directories. In Unix topmost directory is called the root.

Higher Level Language

A type of computer language that is independent of the CPU. These languages are more like human languages and have control structures like loops and conditionals that make programming easier. Languages like C, Fortran and Python are examples of higher level languages.

Home Directory

A special directory created for each account. Whenever you log in to a Unix system, you always start in your home directory. You account is the only one that can change anything inside your home directory.

Host

The computer you are currently using.

Hostname

The name by which a computer is known on the network.

I

IDE

The abbreviation for an Integrated Development Environment.

Immutable

Cannot be changed or altered in any way.

Import

The action of converting the code inside a module file into a module object inside the Python environment, which allows the modules functions to be used there.

Import Statement

A statement that brings the contents of a module into the current environment. You cannot use the functions inside a module until you import the module. An import statement has the following format import MODULE_NAME The MODULE_NAME is the file name without the .py extension.

Increment

To add a specific value, such as 1, to the value of a variable.

Incremental Development

A technique for writing programs in which small changes are made and immediately tested.

Index

The number used to select an individual element in a list or string

Indefinite Loop

A loop in which it is impossible to know how many iterations it will perform before it executes, because that number is determined as the loop executes.

Indirect Recursion

A type of recursion where the thing being defined does not refer to itself directly but refers to something else that ultimately refers to the original thing.

Infinite Loop

A loop that never ends.

Inheritance

The ability to form a new class using attributes and methods of another class.

Instance

An object created from class using its constructor.

Instance Variable

The variables inside an object that hold its data.

Initialize

To give a variable it's first value.

Initializer

See constructor.

Inner Join

A database query that returns data from more than one table based on a value they share. Usually that value is foreign key that relates a row in one table to the corresponding row in another.

å

Integer

A whole number.

Integrated Development Environment

A program with a Graphical User Interface that makes it easier to write programs in a computer language through various features, such as showing you certain errors as you type.

Interactive Mode

Running Python this way puts you in an environment where you can enter Python statements directly and have them evaluated when you hit Enter.

Interpreter

A program that understands instruction in a scripting language like Python and executes them directly.

Intersection of Sets

If A and B are sets, the intersection of A and B is the set composed of all values of A which are also in B, and is written

A ∩ B

Item

A value in a list

Iterable

Used to describe an object which can be used in a for loop.

Iterate

To access each value in a sequence using a loop.

J

Job

A command entered at the command line. A pipeline is a single job.

Join

A database o that returns data from more than one table.

K

Kernel

The part of the operating system that always remains in memory and control access to all hardware on the computer. Typically, the kernel is responsible for memory management, process task management, and disk management.

Key

The first part of an entry in a dictionary. The key is used to fetch the value associated with each key.

Keyword

A word that has a special meaning in a computer language and cannot be used as the name of a variable, function or class. You will find a list of Python keywords here.

Keyword Shell Variable

A shell variable that has special meaning to the shell.

Keyword Variable

Another name for a keyword shell variable.

L

Layout Manager

Code in Tkinter that arranges widgets inside a window.

Lazy Evaluation

Another term for short-circuit evaluation.

A special file that has no content, but points to another file or directory. A link is like a shortcut on a PC, or an alias on a Mac.

List

A Python object that consists of a sequence of values. Lists can be changed at any time and can hold any Python value. The individual values in a list are called elements.

Literal

A literal value

Literal Value

A value that is explicitly written out, like 4, 5.07, True or "hello".

Local Variable

A local variable is defined and used inside a function and cannot be accessed by statements that are outside the function. Different functions can have local variables with the same names because the functions cannot see each other’s local variables.

Local Variable (Bash)

A shell variable that can only be used in the shell in which it is defined.

Logic Errors

Errors caused by code that does not produce the results needed. For example if I wanted to compute the average number of games won, but wrote

average = games/games

Logical Operator

An operator that takes boolean values for its operands and returns a boolean result. The logical operators are

M

Machine Language

The pattern of 1's and 0's that tell the computer what operations to perform. Each different CPU has its own machine language.

Magic Method

Special method names which are listed in the specification for the Python language, which can be implemented when defining a class. All of these methods names begin with two underscores, __and end with two underscores. These methods cannot be called directly. They called implicitly when client code does things like create a class, print an object or use use the the arithmetic and logical operators. __init__ and __str__ are magic methods.

Meta-characters (Bash)

The special characters that are used to create a pattern in pathname expansion. They are

Method

A method is a function that belongs to an object and performs some operation using that object.

Module

A file that contains a set of Python statements, usually functions, variables and class definitions. Programs can use the contents of a module by importing them into their working RAM space. The filename of a module must end in ".py".

Multiple Assignment

The ability of a single assignment statement to give a value to more than one variable.

Multiuser Operating System

An operating system that allows many users to use a single computer at the same time. The machine gives each users a small slice of time, then saves their work and proceeds to the next user.

Mutable

Anything that can be changed, is said to be mutable. list are mutable sequences, while tuples are not.

Mutator

A method which changes the value of a hidden attribute.

N

Named Argument

A feature of Python that allows you to give a specify a values for an arguments in a different order. This is done by using the name of the argument, followed immediately by = followed immediatelyby a value. For example, to change the character automatically added by print to its printed arguments, to a space you would write

end=" "

Nested if Statement

An if statement, which contains another if statement in one of its code blocks.

Nested Loop

A loop that contains another loop inside its code blocks.

Newline

A special character that does not print, but moves the output down one line.

None


A special value returned by functions that have no return statement or a return statement without an argument. None is a Python literal.

Null

A special database value that means no information is available for this column. If you search for this value you cannot use the SQL equality operator =. You must use the special operator is null.

O

Object

A section of memory that contains of all the data describing some thing, as well as the functions that act on that data. The functions inside an object are called methods.

Octal

A number that is represented as powers of 8 (base 8). Octal digits run from 0 to 7. An octal number is often used to represent the number stored in byte.

Operand

The values that an operator is applied to.

Operating System

The collection of programs that allow you to use a computer. These programs give you access to machine resources, such as files and memory.

Operator

Special characters that perform an action using one or more values. Usually that action create in a new value, like

rate + 5

The values that the operator works upon are called operands.

Operator Precedence

The order in which operators are evaluated when in an expression when there is more than one operator.

Operator Overloading

Using the same operator symbol for more than one operation. For example the plus sign, +, can mean either addition or depending upon the context.

Option

Text that appears on the command line after the name of the command, that changes the the way the command works. Options usually are preceded by one ( - ) or two dashes ( -- ). The options that consist of a single letter have one dash in front, while options that are words have two dashes.

Owner

The Unix account that can modify the access permissions of a file or directory.

P

Package Manager

A package manager is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.

Pager

Another name for a paging program.

Paging Program

A program that displays the contents of a file one screenful at a time.

Parameter

A local variable inside a function that receives its value from the corresponding argument from the function call. Parameters are defined inside the parentheses of a function header.

Parent Directory

The directory immediately above the current directory. This directory contains the current directory.

Parent Process

A process that creates another process. The new process is called a child process. When the child process finishes it returns an exit status to its parent process.

Parsing

The act of breaking up a line of text into tokens.

Path

The location of a file, specified by the list of the directories that you must go through to get to the file.

Path of Execution

The order in which the statements in a Python program are executed, also known as the flow of control.

Pathname

The path to a file followed by the name of the file. The pathname uniquely specifies a file.

Pathname Completion

A feature of Bash where the shell provides the rest of the characters in a pathname when the user hits the Tab key after first typing part of the pathname.

Pathname Expansion

A feature of the shell that provides a list of pathnames that match a pattern composed of normal text and meta-characters.

Pickling

Pickling is the term Python uses for serializing.

Pixel

Short for "picture element". A dot on the screen.

Permissions

See access permissions.

Pipe

A Unix feature that sends the output of one Unix command into the input of another. The two command must be separated by the pipe character, |.

Pipeline

A series of commands joined by pipes.

Placeholder

A group of characters within a larger string that stands in place of a specific value which is added later.

Procedural Programming

The technique of writing programs where the code is organized into functions. These functions are called by a single section of the code, sometimes called the driver, which controls the overall action of the program.

Polymorphism

A feature of inheritance that allows a subclass to define a method with the same name as a method in the superclass. When a subclass object is created and a method is called, the Python interpreter will always call the subclass version of the method when there is one.

Positional Parameter

A special parameter, set by the shell, that hold the command line arguments used to run a script.
0 contains the pathname of the command
1 holds the first argument
2 the second, and so on

Precision

The number of digits after the decimal point.

Primary Key

A column in a database table whose value must be unique for every row in the table. These values are used to link information in two or more tables.

Procedural Programming

A style of programming where the code is broken up into individual functions.

Process

A running program. Processes have resources, like memory and access to files. The memory for a process contains the binary code for the program.

Process Substitution

Process substitution is a feature of the Bash shell. In process substitution, a command is run in a sub-shell and the output of that process is treated as a file, which can be used as input to another Unix command. The format for process substitution is

<(COMMAND)

Program Counter

A special memory location which the computers CPU uses to store the memory address of the next binary instruction to be executed when running a program. After each instruction is executed, the program counter advances to the next instruction.

Prompt

Text that appears on the screen describing the value needed from the user.

Prompt (Bash)

Text that appears on the left hand side of the screen that indicates that the shell is ready for your next command.

Property

A decorator built into the Python interpreter that allows you to create getters and setters using just the name of the attribute.
When this decorator is used attribute names should begin with an _.
Let's say I created the class Student with an attribute named grade.
I could define the getter and setter for grade like this

@property
def grade(self)
  return  self._grade

@grade.setter
def grade(self, grade)
  self._grade = grade

If I had a Student object s1, I could write

s1.grade = "B+"
print(s1.grade)

Pseudocode

An English description of what a program will do that is laid out in language that mimics the structure of a computer program. It will will use if statements and loops?

Pseudorandom Number Generator

A function that creates a series of pseudorandom numbers.

Pseudorandom Numbers

Numbers that appear to be random, but are not. These numbers occur in a sequence that repeats, but the interval between repetitions is so long that they are random enough for most computing purposes.

Q

Query

A statement written in a language like SQL that returns data from a database. A single query can obtain data from more than one table.

R

Raise an Exception

When a situation occurs that would cause a runtime error the Python interpreter creates an exception object. When this happens, the interpreter is said to raise an exception.

RAM

RAM stands for Random Access Memory. It is the memory directly connected to the CPU where all programs are run.

Raw String

A feature of Python used in regular expressions. The letter r is placed immediately in front of a quoted string, like this

r"foo"

Read Permission

The access permission that allows an account to see the contents of a file or list the contents of a directory.

Readline Library

A collection of procedures, written in C, that provide command line editing. These routines can be used by any Unix program written in C.

Record

A record is a complete set of data about some event or thing. The individual pieces of information in a record are called fields.

Recursion

Recursion describes a situation where something refers to itself in its definition or how it works.

Recursive Function

A function that calls itself.

Redirection

Taking input from, or sending output to, a file and not the default. Standard input, standard output, and standard error can all be redirected.

Refactoring

Rewriting code so that it does the same thing, but does it better, making it more readable and efficient.

Reference

The association of a variable and an object.

Regular Expression

A sequence of characters, some of which have special meaning, that forms a search pattern that can be used to match a string. Each character in a regular expression is either e a meta-character with its special meaning, or a regular character that matches itself.

Relational Operator

An operator that compares two values, returning either true or false. The relational operators are

Operator Boolean Comparison
== Equal
!= Not equal
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to

Relative Path

The list of directories, starting with the current directory, that leads to the directory holding a specific file.

Relative Pathname

A pathname formed using a relative path followed by the filename.

Return Statement

A Python statement that uses the return keyword to send a value back to the Python statement that called it. It has the format

return EXPRESSION

Root Account

The first account automatically created when Unix or Linux is installed. This account can do anything on the machine and is used for system administration and configuration.

Root Directory

The directory at the top of the Unix filesystem, represented by /.

Rules of Precedence

The order in which operators are evaluated in an expression with more than one operator.

Running Total

A total that is updated as new numbers are encountered. A bank balance is a running total.

Runtime Error

An error that occurs when the interpreter encounters a value that, when used in a statement, causes that statement to fail. The error comes not from the code, which works with other values, but from a particular value that appears when the program is run. Trying to open a file that does not exist is an example of a runtime error.

S

Scatter

The operation of treating a parameter as a list of arguments.

Scope

The part of a program in which a particular variable is valid and has a value.

Scope (Bash)

The shells in which a variable is defined.

SCP

SCP is a network protocol that allows you to copy a file to or from a local machine to or from a Unix machine in a secure fashion.

SCP Client

Software that uses the SCP protocol to copy a file to or from a local machine to or from a Unix machine in a secure fashion.

Secondary Prompt

The shell prompt you get when you continue a command onto another line. By default the secondary prompt is >, but you can change this using the keyword shell variable PS2

Seed

An initial value supplied to a pseudorandom number generator to get the calculation started. If the same seed is chosen each time a program is run, the same sequence of numbers will be generated.

Sentinel

A special value that signals the end of a list of values entered as input to a program.

Serializing

The process of converting an object into a stream of bytes, which can be saved to a file on disk, for later retrieval.

Setgid Permission

A permission on an executable file that allows any account that can run the file the same access permission on the files used by the program that the group assigned to that program has, but only while running the program.

Setter

Another name for mutator.

Setuid Permission

A permission on an executable file that allows any account that can run the file the same access permission on the files used by the program that the owner to that file has, but only while running the program.

Sequence

A Python data type that holds many items of data, stored one right after the other. The individual values in a sequence are called elements. The elements in a sequence have a well defined order.

Sequential Access

Accessing data in a file by starting at the beginning and traveling through the file until you get the data you want. Sequential access only occurs in one direction.

Set

An object that stores an unordered collection of unique items.

Set Difference

The difference between two sets, A and consists of all the elements of A that are not in B and is written

A - B

Set Membership

If a value x is contained in the set A x is said to be a member of A. In mathematics this is written

x ∈ A

Set Symmetric Difference

The symmetric difference between two sets A and B consists of all the elements of A that are not in B and all the elements of B that are not in A. In mathematics, it is written

A Δ B

Shebang

See hashbang.

Shell

A program which stands between the user and the operating system. The shell asks the kernel to run the command entered at the command line.

Shell Script

A text file that contains Linux/Unix commands. When a shell script is run, all the commands in the file are executed.

Shell Variable

A variable that is defined inside a shell and can be used by the shell.

Short-Circuit Evaluation

The property of the logical operators and and or that prevents the second operand from being evaluated if the overall result can be determined from the value of the first operand.

Sibling

If a file or directory is directly inside the same directory as another file or director, they are said to be siblings.

Simple Statement

A statement that can be written on a single line.

Slice

A series of ordered elements obtained from any Python sequence object. Usually the elements are consecutive, but elements of the slice may be separated by a specific number of other elements.

See symbolic link

Source Code

A text file containing a program written in a computer language. Source code is what you write when you write a computer program. A source code file cannot be run directly by a computer.

SQL

See Structured Query Language

SSH

A protocol that permits a user on one machine to connect securely to another machine. SSH stands for secure shell.

SSH Client

Software that uses the SSH protocol to connect to a Unix machine from another machine.

Stack

A data structure where information is store in the order in which it came in. When information is retrieved from the stack, the last thing entered is the first returned.

Standard Error

Where where the error message are sent, if not otherwise specified.

Standard Input

Where input in a program or script comes from, if not otherwise specified.

Standard Output

Where output from program or script goes, if not otherwise specified.

Standard Library

A collection of modules containing many useful functions and constants that are automatically installed with Python. Each module deals with a specific type of function.

Startup File

A file in your home directory that contains Unix commands that are run automatically before you get your first prompt. These commands are used to customize your Unix environment. In Bash, the startup files are .bash_profile, .login, .profile and .bashrc

Statement

One or more lines of code that perform a complete action. The Python interpreter runs a script one statement at a time. A statement that can fit on a single line is a simple statement. A statement that cannot be written on a single line is a compound statement.

Static Method

A method that does use the values inside an object.

Stepwise Refinement

The process of creating a program by steps. First get something working, then improve on this by adding a new feature until you get what you want.

String

A series of characters, e.g. "Red Sox". In Python, strings must be contained inside single, " ", or double, " ", quotes.

String Literal

A group of characters written out inside a program.

Structured Query Language

A language used in modern database products. The language consists of three parts - a data definition language (DDL), a data manipulation language, and a data control language (DCL).

Subclass

A class which inherits the attributes and methods of another class. Also called a derived class.

Subset

If you have two sets A and B and all the values inside A are also contained in B then A is said to be a subset of B. In mathematics this relationship is written

A ⊂ B

Substring

A smaller string contained inside a larger string. "Red" and "Sox" are substrings of "Red Sox".

Sub-shell

A shell run inside another shell, usually the login shell. The sub-shell does not have to be the same shell version as the parent shell.

Superclass

A class whose attributes and methods are inherited by another class. A superclass is also called a base class.

Superset

If you have two sets A and B and all the values in B are also in A then A is said to be a superset of B. In mathematics this relationship is written

A ⊃ B

Superuser

Another name for the root account.

A link which can point to a file or directory. A soft link does not have to be on the same volume as the file or directory it points to. Deleting a symbolic link has no effect on the file or directory it points to.

Syntax

Syntax refers to the structure of a program and the rules about that structure.

Syntax Errors

Errors caused by code that is not legal in the Python language.

Syntax Highlighting

Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colors and depending on what they represent. The feature is sometimes called colorizing.

System Call

The feature of a computer language that allows a program to ask the kernel to do something that only it can do.

T

Tarball

A file created by the tar utility that contains many files and directories.

Temporary Variable

A variable used to store an intermediate value in a complex calculation.

Tilde Expansion

A feature of the shell which replaces the tilde character, ~ with something else. There are four ways that ~ can be expanded.

Token

A string of characters separated from other strings of characters by a separator characters, usually Spaces or Tabs

Traverse

To move along a list of things looking at each element one by one.

Tuple

A sequence of values that cannot be changed.

Two-Dimensional List

A two-dimensional list is a list whose elements are all, themselves, lists.

u

Union of Sets

If you have two sets A and B you can create a new set consisting of all the values inside A and all the values inside B. This new set is called the union of A and B and is written

A ∪ B

Usage Message

A brief message, printed by programs that accept command line arguments, describing the arguments needed to run the program which appear when the program does not get the correct number of arguments. For this course, the usage message should have the following format

Usage: SCRIPT_NAME ARGUMENT_1 ARGUMENT_2 ...

Utilities

Programs which help you use and manage computer resources.

V

Variable

A position in memory with a name that stores a single value

Variable Completion

A feature of Bash where the shell provides the rest of the characters in a variable name when the user hits the Tab key after first typing part variable name.

Variable Shadowing

If a local variable inside a function has the same name as a global variable outside the function, the Python interpreter will use the value of the local variable. The local variable is said to shadow the global variable.

View

A SQL query which has been stored and can be used like a table.

View Object

In Python, a view object is connected to some other object, such as a dictionary and serves as a "window" into that object. When the original object changes, the view object changes also. You cannot use an index with a view object, but you can iterate over its entries in a for loop.

Void Function


A function that does not return a value.

W

Whitespace

Spaces, tab characters, and newline characters.

Widget

In a Graphical User Interface a widget is a control element such as a button or a scroll bar.

Wildcards

Another name for meta-characters.

Write Permission

The access permission that allows an account to change a file or to add, modify or delete an entry in a directory.

X

Y

Z

Zero-Based Indexing

A numbering scheme, used throughout Python, in which a sequence of values is numbered starting with 0 (element 0, element 1, element 2, and so on).