Abstraction_Automation Flashcards
(25 cards)
What is abstraction in computing?
The process of omitting unnecessary details from a problem to simplify it and make finding a solution easier.
What are the two distinct forms of abstraction?
- Representational abstraction\n2. Abstraction by generalisation/categorisation
Define representational abstraction.
A representation of a problem arrived at by removing unnecessary details from the problem.
Define abstraction by generalisation/categorisation.
A grouping by common characteristics to arrive at a hierarchical relationship of the ‘is a kind of’ type.
What is information hiding?
The process of hiding all details of an object that do not contribute to its essential characteristics.
What is procedural abstraction?
Procedural abstraction involves breaking down a complex model into a series of reusable procedures. The actual values used in a computation are abstracted away, and a computational method is achieved.
What is functional abstraction?
Functional abstraction occurs when the particular computation method is hidden. While procedural abstraction results in a procedure, functional abstraction disregards the particular method and results in just a function.
What is data abstraction?
A methodology where specific details of how data is actually represented are hidden, allowing new kinds of data objects to be constructed from previously defined types of data objects.
What is problem abstraction/reduction?
The process of removing details from a problem until it is represented in a way that is possible to solve, because the problem reduces to one that has already been solved.
What is decomposition in computing?
Breaking a problem into a number of sub-problems, so that each sub-problem accomplishes an identifiable task, which might itself be further subdivided.
What is composition in computing?
The reverse process of decomposition where a complex system of compound procedures is built from its smaller, simpler procedures.
What is automation in computing?
The process of putting models (abstractions of real world objects/phenomena) into action to solve problems by creating algorithms, implementing them in code, implementing models in data structures, and executing the code.
What is an algorithm?
A sequence of steps that can be followed to complete a task and always terminates rather than going on forever in a loop.
What is pseudocode?
A way of describing instructions that is independent of any particular programming language, allowing different programmers to communicate algorithms to one another.
What is assignment in pseudocode?
The process of giving a value to a variable or constant. In pseudocode, assignment is represented using an arrow pointing towards the variable or constant that is being given a value (e.g., counter ← 27).
What is sequence in pseudocode?
The name given to instructions that follow on from one another. Operations will be executed in the order that they appear.
What is selection in pseudocode?
The process of choosing an action to take based on the result of a comparison of values, using statements like IF, ELSE IF, ELSE, and END IF.
What is iteration in pseudocode?
The process of repeating an operation using structures such as FOR and WHILE loops.
Give an example of a selection structure in pseudocode.
IF name = "Brian" THEN\n OUTPUT "Hello Brian"\nELSE\n OUTPUT "Hello user"\nEND IF
Give an example of a FOR loop in pseudocode.
FOR number ← 6 to 12\n OUTPUT number / 2\nEND FOR
Give an example of a WHILE loop in pseudocode.
WHILE number < 18\n Number ← number + (number / 4)\nEND WHILE
How does problem-solving work in computing?
Problem-solving involves finding a solution to a difficult or complex issue by analyzing given statements, drawing logical conclusions, and determining the correct answer based on the information provided.
How is indentation used in pseudocode?
Code within control structures (such as loops or selection statements) is indented, allowing for easy identification of different blocks of code.
What is the difference between procedural abstraction and functional abstraction?
Procedural abstraction results in a computational method (procedure) by breaking down a complex model into reusable procedures. Functional abstraction takes this further by hiding the particular computation method, resulting in just a function without concern for how it works internally.