Definitions

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  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.

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()built-in 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 hidden 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 in on the command line.

Assembler
A computer program that translates programs written in assembly languge 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
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 augmented assignment operators are also assignment operators.

Assignment Statement
A statement that uses an assignment operator to give a value to a variable.

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.

Bit
A single digit of a binary number. A bit can only have the values 0 or 1.

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.

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

Built-in 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 group of related variables and functions that operate on them.

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 entry point can be removed.

Command Substitution
A feature of the shell where a command placed between $( ) are run in a sub-shell, and the output of that command replaces the command and the $( ) that surrounds it on the command line.

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.

Composition
Using one function inside another.

Compound Statement
A statement that contains other statements inside it. A compoud 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.

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
The directory where you can specify a file simply by its name, 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 types of data and its representation in memory is called 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.

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.

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.

Difference between Sets
All the values of set A which are not found in set B are called the difference between A and B and are written
	A - B
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.

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.

Empty Set
A set that has nothing in it.

Empty String
The string with no characters in it: "".

Escape Character
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.

Escape Sequence
A pair of characters, the first of which is the backslash, \.

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.

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
Event
Some action on the part of the user or some piece of hardware that a program needs to know about.

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
An object created when an error occurs that contains the type of error and where it occurred in the code. In Python the interpreter uses exceptions to handle both runtime and syntax errors.

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 that contains information about the exception.

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.

F

Field
An individual piece of information in a record.

File
A linear arrangement of data on a storage device. 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
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.

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

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.

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 or a function. The header of a compound statement determine what happens when the statement is executed.

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.

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.

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.

Instance
A particular object of a given class.

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 and 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
Methods which are defined in the specification for the Python language that have special meaning to Python. All of these methods have names that begin with two underscores, __ and end with two underscores. Magic methods can be created for a class that allow you to use the the arithmetic and logical operators with that class. __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.

Membership of a Set
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 x ∈ A
Module
A file that contains a set of Python statements, usually functions and variables. The filename of a module must end in .py and the rest of the filename cannot be a Python keyword.

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 symbols that represent actions like addition, +, and multiplication, * that take one or more values. 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 preceeded 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

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.

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.

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 hold 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.

Pseudocode
An English description of what a program will do that is laid out in the format of a program using 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. When this happens, the interpreter is said to raise an exception.

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, results in an error. 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 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 is obvious 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

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.

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.

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.

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.

Tuple Assignment
Assigning values to more than one variable at a time by having a series of variables on on the left hand side of the assignment operator, separated by commas, and a tuple on the right.
		a, b, c = 5, 10, 15


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.

Utilities
Programs which help you use and manage computer resources.

V

Variable
A memory location with a name that stores a value. Conceptually, a variable is a name - value pair.

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).