1. Define the concept of abstraction as it is related to programming.
Abstraction is the process of removing detail to simplify a problem.

2. In general programming terms, explain briefly what an interface is.
An interface is information which allows re-use of a class or method. Includes information such as methods, parameters and return types, but no implementation.

3. In java, we implement Abstract Data Types using Java interface types. What would be contained such interface types?
Method headers for public use.

4. Name two classes that implement the LinearList interface.
LinkedList ArrayList

5. The specification of ADTs depend on the used programming language. True or False, explain your answer.
False, ADTs are a concept, non-specific to language.

6. What does it means when we say that one class implements a particular interface?
Source code defines class.
