I. Software System and Methodology - 35%
A. Data organization
1.
2. Data types Data structures and implementation techniques
(excellent official algorithm
site)
(burried deep inside the above one)
3.
B.
1.
2.
3.
C.
1.
2. loop invariant: true at the beginning of each execution of the loop and at the completion of the loop. stack: LIFO, queue: FIFO File organization (e.g. sequential, indexed, multilevel) Iteration and recursion Functions, procedures, and exception handlers Communication and synchronization Constructs for data organization and program control Scope, binding, and parameter passing
Program control Programming languages and notation Dynamic Type Checking vs. Static Type Checking:
Dynamic scoping elminates the possibility of static type checking Error checking can be done at two different times:
Dynamic checking requires the program to be executed.
Static checking happens before runtime.
Evaluation: Static checking is preferable for two reasons
runtime efficiency
completeness (static checking does not exclude run-time errors! but
it excludes run-time errors due to type misuse.)
static scoping: A subprogram is called in the environment of its definition. dynamic scoping: A subprogram is called in the environment of its
caller
3.
D.
1. No extra space swap i = i - j; j = i + j; i = j - i; Expression evaluation Compilers and interpreters
Systems