21 1. .
Thinking abstractly
The nature of abstraction
-
Abstraction :
↳ the details to arrive at a
process of removing excessive representation of a problem that consists
of only the key features
↳
Often involves analysing what is relevant to a given scenario and
simplifying a problem based
on this information (representational abstraction
Abstraction
by generalisation :
↳
grouping together similarities within a problem to identify what kind of problem it is
↳ allows certain
problems to be categorised as
being of a particular type
Data abstraction :
↳ details about how data is hidden
being stored are
of abstract data structures such as stacks and queues without
↳ can make use
programmers
themselves with how these structures are implemented
concerning
Procedural abstraction :
↳ stack , without
performing functions e
g
.
.
pushing and popping items from a
knowing about
the code used to implement this
functionality
↳ also used in
decomposition .
considering how this
↳ models what
a subroutine does without is done
procedure has been
↳ coded it can be reused black box
once a , as a .
large
↳
, complex problems make use of multiple levels of abstraction , each level performs a
different role
= closest to the
levels
↳
highest user
↳ interface
responsible for providing a user
↳ lowest levels
↳
responsible for actually performing these tasks
through the execution of
machine code
The need
for 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
↳ enables more
efficient design during software development programmers
,
can
focus on elements
that need to be built /reduces time , prevents it from getting too large)
↳ used in
networking and programming languages
↳
programming languages be split into
can
high and low level
↳ TCP/IP model : application transport
,
Internet , Link
,
, The difference between abstraction and
reality
↳ abstraction is a simplified representation of reality
↳ real-world entities
may be represented using computational structures e .
. tables
g ,
databases
↳ real-world values are
often stored as variables
↳ OOP makes real-world entities
use
of objects ,
which is also abstraction for
&
, abstraction considers the
↳In OOP
functionality interface
,
and properties of entities
for the characteristics of
↳ attributes abstraction
are an an
object
↳ methods abstraction for the actions real-world to perform
are an a
object is able
Thinking abstractly
The nature of abstraction
-
Abstraction :
↳ the details to arrive at a
process of removing excessive representation of a problem that consists
of only the key features
↳
Often involves analysing what is relevant to a given scenario and
simplifying a problem based
on this information (representational abstraction
Abstraction
by generalisation :
↳
grouping together similarities within a problem to identify what kind of problem it is
↳ allows certain
problems to be categorised as
being of a particular type
Data abstraction :
↳ details about how data is hidden
being stored are
of abstract data structures such as stacks and queues without
↳ can make use
programmers
themselves with how these structures are implemented
concerning
Procedural abstraction :
↳ stack , without
performing functions e
g
.
.
pushing and popping items from a
knowing about
the code used to implement this
functionality
↳ also used in
decomposition .
considering how this
↳ models what
a subroutine does without is done
procedure has been
↳ coded it can be reused black box
once a , as a .
large
↳
, complex problems make use of multiple levels of abstraction , each level performs a
different role
= closest to the
levels
↳
highest user
↳ interface
responsible for providing a user
↳ lowest levels
↳
responsible for actually performing these tasks
through the execution of
machine code
The need
for 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
↳ enables more
efficient design during software development programmers
,
can
focus on elements
that need to be built /reduces time , prevents it from getting too large)
↳ used in
networking and programming languages
↳
programming languages be split into
can
high and low level
↳ TCP/IP model : application transport
,
Internet , Link
,
, The difference between abstraction and
reality
↳ abstraction is a simplified representation of reality
↳ real-world entities
may be represented using computational structures e .
. tables
g ,
databases
↳ real-world values are
often stored as variables
↳ OOP makes real-world entities
use
of objects ,
which is also abstraction for
&
, abstraction considers the
↳In OOP
functionality interface
,
and properties of entities
for the characteristics of
↳ attributes abstraction
are an an
object
↳ methods abstraction for the actions real-world to perform
are an a
object is able