Computer Science Abstraction

?
View mindmap
  • Abstraction
    • Logical Reasoning
      • Using a given set of facts to determine whether new facts are true or false
    • A problem solving technique that involves the reduction of problems down to their essential features.
    • Types of abstraction
      • Abstraction by generalization/categorization
        • Grouping similar characteristics of a problem into hierarchical categories in order to reduce the problem
      • Representational abstraction
        • Removing unnecessary details from a problem until it  can be represented in a solvable way
      • Data Abstraction
        • Using information hiding to organize and structure data in a way that produces a particular view of the data which is useful for the programmer
          • This means the actual implementation is separated from the interface
          • Data can be implemented in different ways. We isolate how a data object is used from the details of how it is constructed
      • Procedural Abstraction
        • Breaking down solutions into procedures and subroutines. This is a computational method - a procedure in its own
      • Functional Abstraction
        • Breaking down a problem into a series of reusable functions
      • Problem Abstraction
        • Removing unneccessary details from a problem until the we can identify if a solution already exists
    • Information Hiding
      • hiding all the details of an object that do not contribute to its essential characteristics
      • Data Abstraction
        • Using information hiding to organize and structure data in a way that produces a particular view of the data which is useful for the programmer
          • This means the actual implementation is separated from the interface
          • Data can be implemented in different ways. We isolate how a data object is used from the details of how it is constructed
    • Decomposition
      • Breaking down large tasks into smaller, more manageable tasks, so that each subroutine accomplishes an identifiable job
    • Composition
      • The process of building up a whole a whole system from smaller units - combining subroutines to form compound procedures. The opposite of decomposition
        • Breaking down large tasks into smaller, more manageable tasks, so that each subroutine accomplishes an identifiable job

Comments

No comments have yet been made

Similar Computing resources:

See all Computing resources »See all Computer Science resources »