Difference between revisions of "Abstraction - Automation"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
Line 1: Line 1:
 +
 +
 +
Procedurally, functional & data abstraction – https://www.youtube.com/watch?v=0j6KIZ_PqHE&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=7
 +
 +
 +
 +
 +
 +
 +
 +
 +
 
==Information Hiding==
 
==Information Hiding==
 
Information Hiding is the process of hiding the complexity of a system behind the interface for that system. For example a car has an accelerator to control the speed of the car, however your car is deciding how much fuel to inject, the fuel to air ratio, and the spark timings etc.
 
Information Hiding is the process of hiding the complexity of a system behind the interface for that system. For example a car has an accelerator to control the speed of the car, however your car is deciding how much fuel to inject, the fuel to air ratio, and the spark timings etc.
  
== Abstraction ==
+
= Abstraction =
 
Removing details that are not essential for a problem to be solved. This can be interpreted as removing indirectly relevant data repeatedly until a complex problem  (function) becomes a series of simpler problems (functions) which can easily accomplish the same larger problem (function) in a more efficient & simpler way.  
 
Removing details that are not essential for a problem to be solved. This can be interpreted as removing indirectly relevant data repeatedly until a complex problem  (function) becomes a series of simpler problems (functions) which can easily accomplish the same larger problem (function) in a more efficient & simpler way.  
  
===Data Abstraction===
+
===Video===
 +
Nature of abstraction – https://www.youtube.com/watch?v=kK5Zrl7v1ds&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=2s&index=5
 +
Need for abstraction – https://www.youtube.com/watch?v=7B_doJVuvwc&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=6
 +
Procedurally, functional & data abstraction – https://www.youtube.com/watch?v=0j6KIZ_PqHE&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=7
 +
 
 +
==Data Abstraction==
 
The exact detail of how the data is stored is hidden, for example you pass the data values and program will decide the suitable data type to use.
 
The exact detail of how the data is stored is hidden, for example you pass the data values and program will decide the suitable data type to use.
  
===Functional Abstraction===
+
==Functional Abstraction==
 
Breaking problems down to a reusable set of functions. Each function runs with the input given to create the output, the calculation process is hidden from the user.
 
Breaking problems down to a reusable set of functions. Each function runs with the input given to create the output, the calculation process is hidden from the user.
  
===Procedural Abstraction===
+
==Procedural Abstraction==
 
Procedural abstraction is used to keep the actual values used in a computation separate from the overall design. Then any changes in one shouldn't affect the other. Procedural abstraction in simple terms, involves writing procedures and passing parameters.
 
Procedural abstraction is used to keep the actual values used in a computation separate from the overall design. Then any changes in one shouldn't affect the other. Procedural abstraction in simple terms, involves writing procedures and passing parameters.
  
===Problem Abstraction===
+
==Problem Abstraction==
 
Removing details from a problem until it is represented in a way that is possible to solve.
 
Removing details from a problem until it is represented in a way that is possible to solve.
 +
 +
===Video===
 +
Problem abstraction, reduction – https://www.youtube.com/watch?v=MozsxjiDzGQ&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=8
  
 
==Decomposition==
 
==Decomposition==
Line 21: Line 41:
  
 
For example, making a cup of tea can be broken down into tasks such as fill kettle, boil kettle, wash cup, add tea bag, remove tea bag, add milk, stir etc.
 
For example, making a cup of tea can be broken down into tasks such as fill kettle, boil kettle, wash cup, add tea bag, remove tea bag, add milk, stir etc.
 +
 +
===Video===
 +
Problem decomposition – https://www.youtube.com/watch?v=nnOMsBykeks&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=9
  
 
==Composition==
 
==Composition==
 
Solving a problem by taking several small problems and grouping them together to specify a bigger problem (Opposite of decomposition).
 
Solving a problem by taking several small problems and grouping them together to specify a bigger problem (Opposite of decomposition).
 +
 +
===Video===
 +
Composition – https://www.youtube.com/watch?v=pDFyq720UPo&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=10
  
 
== Automation ==
 
== Automation ==
  
 
Automation is the process of building models of real world objects to solve a problem. Models can be made by including only details that are relevant to the problem and discarding those that are irrelevant or have only minor effects. Using the model, an algorithm can then be designed to solve and automate the problem.
 
Automation is the process of building models of real world objects to solve a problem. Models can be made by including only details that are relevant to the problem and discarding those that are irrelevant or have only minor effects. Using the model, an algorithm can then be designed to solve and automate the problem.
 +
 +
===Video===
 +
Automation – https://www.youtube.com/watch?v=XQEMAkM6wok&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=11

Revision as of 12:59, 8 June 2018


Procedurally, functional & data abstraction – https://www.youtube.com/watch?v=0j6KIZ_PqHE&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=7





Information Hiding

Information Hiding is the process of hiding the complexity of a system behind the interface for that system. For example a car has an accelerator to control the speed of the car, however your car is deciding how much fuel to inject, the fuel to air ratio, and the spark timings etc.

Abstraction

Removing details that are not essential for a problem to be solved. This can be interpreted as removing indirectly relevant data repeatedly until a complex problem (function) becomes a series of simpler problems (functions) which can easily accomplish the same larger problem (function) in a more efficient & simpler way.

Video

Nature of abstraction – https://www.youtube.com/watch?v=kK5Zrl7v1ds&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=2s&index=5 Need for abstraction – https://www.youtube.com/watch?v=7B_doJVuvwc&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=6 Procedurally, functional & data abstraction – https://www.youtube.com/watch?v=0j6KIZ_PqHE&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=7

Data Abstraction

The exact detail of how the data is stored is hidden, for example you pass the data values and program will decide the suitable data type to use.

Functional Abstraction

Breaking problems down to a reusable set of functions. Each function runs with the input given to create the output, the calculation process is hidden from the user.

Procedural Abstraction

Procedural abstraction is used to keep the actual values used in a computation separate from the overall design. Then any changes in one shouldn't affect the other. Procedural abstraction in simple terms, involves writing procedures and passing parameters.

Problem Abstraction

Removing details from a problem until it is represented in a way that is possible to solve.

Video

Problem abstraction, reduction – https://www.youtube.com/watch?v=MozsxjiDzGQ&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=8

Decomposition

Solving a problem by breaking the problem down into small mini problems.

For example, making a cup of tea can be broken down into tasks such as fill kettle, boil kettle, wash cup, add tea bag, remove tea bag, add milk, stir etc.

Video

Problem decomposition – https://www.youtube.com/watch?v=nnOMsBykeks&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=9

Composition

Solving a problem by taking several small problems and grouping them together to specify a bigger problem (Opposite of decomposition).

Video

Composition – https://www.youtube.com/watch?v=pDFyq720UPo&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=10

Automation

Automation is the process of building models of real world objects to solve a problem. Models can be made by including only details that are relevant to the problem and discarding those that are irrelevant or have only minor effects. Using the model, an algorithm can then be designed to solve and automate the problem.

Video

Automation – https://www.youtube.com/watch?v=XQEMAkM6wok&list=PLCiOXwirraUCDWr2XWh7Wg69D7q1Jw6ac&t=1s&index=11