Thinking Abstractly Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is Abstraction

A

The process of removing excessive details to arrive at a representation of a problem that consists of only the key features

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the Different Types of Abstraction

A
  • Representational Abstraction - analysing what is relevant to a given scenario and simplifying a problem based on this information
  • Abstraction by Generalisation - involves grouping together similarities within a problem to identify what kind of problem it is
  • Data/Proecdural abstraction - details about how data is being stored are hidden. As a result, programmers can make use of abstract data structures such as stacks and queues without concerning themselves with how these structures are implemented
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe the need for abstraction

A
  • Non - Experts - allows non-experts to make use of a range of systems by hiding information that is too complex or irrelevant to the system’s purpose
  • Key Elememts - more efficient for designing as programmers can focus on key elements rather than worrying about unnecessary details
  • Time and Effort - reduces the time needed to be spent on the project, prevents the program from getting unnecessarily large
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe how Layers of Abstraction are used in Programming Languages

A
  • Programming languages can be written in high and low-level languages
  • Low-level languages are more difficult to write since it requires having an understanding of the functions specific binary codes perform
  • High-level languages provide an abstraction for the machine code meaking it easier to write
  • This has also made coding accessible to non-specialists
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe how the TCP/IP Layer uses Abstraction

A
  • The TCP/IP model is an abstraction for how networks function
  • It is separated into four layer and each layer deals with a different part of the communication process, and separating these stages out makes them simpler to understand
  • Each layer does not need to know how other layers work
  • However, it is also important to ensure compatibility between these layers so standards must be agreed in advance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe how Object-Oriented Programming is an example of Abstraction

A
  • OOP uses objects, which are also 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly