X) Functional Programming and Big Data Flashcards

1
Q

Functional Programming Paradigm

A

A language where each line of code calls a function, which is made up of other functions or result in a value.

  • Statements are written as a series of functions.
  • Each accepts input data as arguments and returns an output.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Declarative Programming Languages

A

A language that declares or specifies what properties a result should have. Example; Functional Programming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Procedural Programming Languages

A

A language where the programmer specifies the steps that must be carried out in order to achieve a result.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why Functional Programming Paradigms are used?

A
  • Code is much easier to write.
  • Easier for the programmer to understand.
  • Easier to predict how the program will run.
  • Used for writing programs which take advantage of parallel processing.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A Function type

A

Refers to the way in which an expression is created.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Domain and Co-domain

A

A domain is a set of data of the same type, which are the inputs of the function.
A Co-domain is a set of values from which the outputs of a function must be drawn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Types and type classes

A

Functional languages such as Haskell use types such as; Integer, FLOAT, Bool & Char.
Typeclasses are sets of types, e.g. Num;
Includes, Integer + Float.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

First Class objects

A
A first-class object is any object that can be used as an argument or result of a function call. 
These objects can be assigned to a variable, assigned as an argument and can be returned in a function call.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Statelessness

A

In a procedual program the following statement is able to be executed:
x = 5
x = x + 1
In a functional programming language, the value of a variable cannot change.
Variables are immutable and the program is said to be stateless.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Referential Transparency

A

The only thing a function can do is calculate and return a result, it has no SIDE EFFECTS.
On the other hand, not being able to change the value of an object, results in the function returning the same result.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Function Application

A

The process of giving particular inputs to a function. Example:
add3integers x y z = x + y + z
add3integers :: integer [2] -> (integer [4] ->
( integer [5] -> integer [11] ) )
add3integers 2 4 5
11

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Big Data?

A

Big data is data that is collected on such a large scale that it cannot be easily analysed.
Large organisations collect and use big data, such as the police, NHS and the government.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Characteristics of big data

A

Volume- the amount of data being collected is on a very large scale.
Variety- the type of data being collected is wide, can be difficult to classify.
Velocity- the data changes quickly and may include constant changes in data sources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Map and fold operations

A

Map and reduce operations can be efficiently paeallelised, many processors can work simultaneously on parts of a dataset without affecting other parts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Graph schema

A

Can represent the structure and relationships between data items.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Function Application

A

The process of calculating the result of a function by passing it some data to produce an output.