02 - Information hiding

 1. Information hiding is the process of hiding information from the user and is something we often see in real life (but don't always realise it!)



 2. How is booting up a computer an example of information hiding?

  Because the loading up of a computer involves simple processes that the user can see.

  Because you don't see the files the computer is caching or any complexity while booting up!

  Because the computer hides all the relevant information from you, often blocking you from access

  It is not information hiding at all

 3. You could think of information hiding as _________________________________________.

  prevent the system from using peripheral devices

  preventing too little information from hindering access

  preventing system resource under usage

  preventing information overload

 4. The second type of information hiding is employed in order to _______________________________.

  reduce abstraction

  decrease security

  improve security

  reduce encapsulation

 5. Generally speaking, _______________ is better, as it allows teams to work on different parts of the problem and focus on what is important to them.





 6. _____________ variables which are inside functions or modules are invisible to everything outside their block of code.





 7. Good use of variables and information hiding can improve security because the data is contained and cannot be accessed without authorisation.



 8. An example of modularisation and information hiding is what happened during World War 11 on the Manhattan project. Decide whether the excerpt is a valid example.
The lead scientist on the Manhattan project knew
how to build the weapons but did not know how to
activate/weaponise the atomic material. 
The teams that were building the components for the
weapons were also kept seperate. They knew what they
were building, but didn't know what else was being
built or how it would all fit together!



 9. Information hiding is sometimes referred to as encapsulation - one of the pillars of object orientated programming.



 10. Often information hiding will involve having a very good user interface that hides the complexity and details (e.g of the hardware) from the user.