PROGRAMMING Amortized
= A sequence of operations Error
applied to the input of size an averaged
The ability of different parts or units of a
program, algorithm, or problem to be
FUNTION THEORY over Variables executed out-of-order or in partial order,
LANGUAGE CHEAT SHEET ∀ = represents the Λ operator
time.
Checking without affecting the final outcome
Scope - The activities of other processes
DATA STRUCTURE THEORIES ∃ = represents the V operator SPECIFICATION - The way operating system
P = represents a predicate handles interrupts
Binary 0, 1
- The scheduling policies of the
Natural Numbers 0, 1, 2, ... PROGRAMMING LANGUAGE operating system
CONSTRUCT -
Integers ..., -2, -1, 0, 1, 2, ... Concurrency and parallelism can also be
Names
Characters ..., ‘a’, ‘A’, ‘b’, ‘B’, ... implemented when a computer system
FORTRAN I: maximum 5 with multiple processors execute multiple
Set Theory tasks per processor.
COBOL: maximum 25
1 is a bunch then {1} is a set
A is a bunch then {A} is a set RECURSION
0, 1, 2 is a bunch then {0, 1, 2} is a set Data
PROGRAM THEORY FORTRAN 90 and ANSI C: maximum 26
A, B, D is a bunch then {A,B,D} is a set Matched String, M set of string,M ⊆ {],[}*
Worst-case = maximum number of Ada and Java: no limit, and all are
String Theory significant Base: λ ∈ M , (The empty string)
steps taken on any instance of size a.
Nil empty string
Best-case = The minimum number of
a, d = bunch with two elements steps taken on any instance of size a.
{A} = set with one element Average case = An average number
of steps taken on any instance of size a.
1, {A} = bunch with two elements
1; {A} = bunch and a set) Constructor: if s, t
Bindings
List Theory ∈ M , then [s]t ∈M
Declarations = Provides the type of a var
~ [1; 2; 3] = 1; 2; 3 defined external to a function that is used Function Case
in the function.
~[A] = A RC = Returns a function call to self
Definitions specify attributes and cause
#[1; 2; 3] = 3 storage allocation.
#[A] = 1 Dynamic Concurrency
[1; 2; 3] 2 = 3
The Abstract
Parallelism Truly simultaneous execution
or evaluation of things.
Concurrency The coordination and
management of independent lines of
execution. These executions can be truly
parallel or simply be managed by
interleaving.
Distribution Concurrency in which all
communication is via message passing
(useful because shared memory
communication doesn’t scale to
thousands of processors).