2.1.1: thinking abstractly

Cards (10)

  • What is representational abstraction?

    A technique in which excessive details are removed to arrive at a representation of a problem that consists of only the key features
  • Which form of abstraction involves grouping together similarities within a problem to identify what kind of problem it is?
    Abstraction by generalisation
  • What is meant by data abstraction?
    A form of abstraction in which details about how data is being stored are hidden.
  • What kind of problems make use of multiple levels of abstraction?
    Large, complex problems
  • How does abstraction allow non-experts to make use of a system?

    Hides complex and irrelevant information in abstract models.
  • State two advantages of using abstraction in software development
    • Easier for programmers to focus on core elements
    • Reduces the time needed to be spent on the project.
    • Prevents program from getting unnecessarily large.
  • Give two applications of layers of abstraction
    • Networking (TCP/IP layer)
    • Programming languages
  • State two advantages of using abstraction in programming languages
    • Easier to remember syntax in high-level languages as it is closer to natural language
    • Coding becomes accessible to beginners
  • How does object-oriented programming use abstraction?
    • Objects are an abstraction for real-world entities.
    • Attributes are an abstraction for the characteristics of an object.
    • Methods are an abstraction for the actions a real-world object is able to perform.
  • What is the difference between abstraction and reality?
    Abstraction is a simplified representation of reality