Study your flashcards anywhere!

Download the official Cram app for free >

  • Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off

How to study your flashcards.

Right/Left arrow keys: Navigate between flashcards.right arrow keyleft arrow key

Up/Down arrow keys: Flip the card between the front and back.down keyup key

H key: Show hint (3rd side).h key

A key: Read text to speech.a key


Play button


Play button




Click to flip

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
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"
early languages used for scientific and numerical computation
Fortran &amp; 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 &amp; 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 &amp; disadvantages of late binding times ( dynamically typed languages )?
Advantages<br />* flexible programs<br /><br />Disadvantages<br />* cost time &amp; 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