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