Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
30 Cards in this Set
- Front
- Back
turing complete
|
sequencing - ordering of instructions<br />selection - alternative pathways<br />iteration - repeat instructions
|
|
control structures
|
sequencing<br />loops<br />selectors<br />sub programs
|
|
data structures
|
simple data<br />structured data<br />types of data ( user defined, built-in )<br />mathematical abstractions
|
|
bindings
|
association of information with different linguistic entities ( e.g. variables, functions )
|
|
name 4 types of bindings
|
value binding<br />name binding<br />location binding<br />code body binding
|
|
What defines a programming paradigm?
|
approach - way to think about problem domain<br />model - way to model ( or describe ) a problem
|
|
Name 4 programming paradigms
|
imperative paradigm ( Java )<br />object paradigm ( Java )<br />functional paradigm ( Mathematica )<br />logic paradigm ( Prolog )
|
|
What does an abstraction do?
|
emphasizes what is important<br />hides what is not important<br />provides a handle with whith to refer to a complexity
|
|
"business data processing language"
|
COBOL
|
|
early languages used for scientific and numerical computation
|
Fortran & Algol
|
|
syntactic rules
|
define how legal sentences may be formed
|
|
When do bindings occur?
|
compile time<br />load time<br />run time<br />
|
|
When do location bindings occur?
|
load time<br>run time
|
|
When do name bindings occur?
|
compile time
|
|
When do type bindings occur?
|
compile time ( for compiled languages )<br>run time ( for interpreters )
|
|
When do value bindings occur?
|
compile time<br />run time
|
|
Name 4 information bindings
|
Location<br />Name<br />Value<br />Type
|
|
What are 2 essential attributes of a type?
|
1) a set of values that belong to the type<br />2) a set of operators/functions/procedures that can be meaningfully applied to value/members of the type
|
|
Name 4 types of operators
|
unary - e.g. floor(double)<br />binary - +, -, *, /<br />functions - extend the operator set for a given type and can have unlimited number of opperands/arguments<br />assignment - x = 3;
|
|
What are the advantages & disadvantages of early binding times ( strongly typed languages )?
|
Advantages<br />* program execution speed<br />* compiler assists in finding errors<br /><br />Disadvantage<br />* less flexible<br />
|
|
What are the advantages & disadvantages of late binding times ( dynamically typed languages )?
|
Advantages<br />* flexible programs<br /><br />Disadvantages<br />* cost time & space<br />
|
|
What is type checking?
|
The process of determining types of data objects. Helps detect errors.
|
|
What are two types of type checking?
|
static - compile time checks<br>dynamic - runtime checks
|
|
What are 2 ways type conversion is performed
|
implicit ( coercion ) - automatic conversion of an operand in order to make it compatible in an operation with another operand.<br /><br />explicit - programmer must explicitly carry out type conversion
|
|
What are three types of equivalence?
|
structural equivalence ( least restrictive ) - equivalent if structural descriptions match<br /><br />name equivalence - equivalent if data type names match<br /><br />declaration equivalence ( most restrictive ) - equivalent only if both are holding the same data
|
|
What is the lifetime of a variable?
|
The period of time during the execution of a program that memory is allocated to the variable.
|
|
What are some advantages of subprograms?
|
* program units are simpler<br />* can be some what independent<br />* are reusable<br />* support modularity<br />* reduce program size
|
|
What are 2 types of subprograms?
|
procedures - extends set of statements in a language, produces side-effects, and doesn't return a value.<br /><br />functions - extends set of operators in a language, no side-effects, and returns a value.
|
|
What are the 3 modes of parameter use?
|
In mode (call by value) - passing data into a subprogram<br />Out mode (call by result) - passing data out of a subprogram<br />In Out (call by value-result, call by reference) - data passed in both directions
|
|
What are 4 things an activation record contains?
|
* parameters<br />* local variables<br />* return address<br />* dynamic link
|