2.1.1 Thinking Abstractly

Cards (13)

  • Abstraction
    The process of removing excessive details to arrive at a representation of a problem that consists of only the key features
  • Abstraction
    • Representational abstraction - analysing what is relevant to a given scenario and simplifying a problem based on this information
    • Abstraction by generalisation - grouping together similarities within a problem to identify what kind of problem it is
  • Data abstraction
    A subcategory of abstraction in which details about how data is being stored are hidden
  • Procedural abstraction
    Modelling what a subroutine does without considering how this is done
  • Very large, complex problems make use of multiple levels of abstraction, where each level performs a different role
  • Abstraction
    Allows non-experts to make use of a range of systems or models by hiding information that is too complex or irrelevant to the system's purpose
  • Abstraction
    • Enables more efficient design during software development as programmers can focus on elements that need to be built into the software rather than worrying about unnecessary details
    • Reduces the time needed to be spent on the project
    • Prevents the program from getting unnecessarily large
  • Layers of abstraction used in
    • Networking
    • Programming languages
  • High-level languages
    Provide an abstraction for the machine code that is in fact executed when a program is run, making the process of developing programs easier
  • TCP/IP model
    An abstraction for how networks function, separated into four layers of abstraction: application, transport, internet and link
  • Abstraction is a simplified representation of reality
  • Object-oriented programming

    Makes use of objects, which are an abstraction for real-world entities
  • Devising an abstract model for a variety of situations
    1. Consider the problem that needs to be solved by the model
    2. Consider how the model will be used
    3. Consider who the model will be used by
    4. Consider which parts of the problem are relevant based on the target audience and the purpose of the model