Save
...
2.1
Thinking abstractly
Need for abstraction
Save
Share
Learn
Content
Leaderboard
Learn
Created by
kayzz
Visit profile
Subdecks (1)
Nature of Abstraction
Comp Sci > Yr 12 > Notes > 2 > 2.1 > Thinking abstractly > Need for abstraction
14 cards
Cards (41)
What is abstraction in computer science?
Abstraction is the act of
removing excessive details
to arrive at a
representation
of a
problem
that consists of only the
key features.
View source
What does representational abstraction involve?
It involves
analyzing
what is
relevant
to a given scenario and
simplifying
a problem based on this information.
View source
What is abstraction by
generalisation
?
It is the process of
grouping
together
similarities
within a
problem
to identify what kind of
problem
it is.
View source
How does abstraction by generalisation benefit problem-solving?
It allows certain
problems
to be
categorized
as being of a
particular
type, enabling the use of
common
solutions.
View source
What is data abstraction?
Data abstraction
is a type of
abstraction
in which details about how
data
is being stored are
hidden.
View source
What are abstract data structures?
Abstract data structures
are
structures like stacks and queues that programmers can use without knowing how they work.
View source
What is
procedural abstraction
?
Procedural abstraction
allows users to perform functions like pushing and popping items to and from a stack without being aware of how this functionality is implemented.
View source
How does procedural abstraction relate to decomposition?
It models what a
subroutine
does without considering how it is
implemented
, allowing for
reuse
as a
black-box.
View source
What is the role of multiple
levels
of abstraction in complex problems?
Each level performs a
different
role, with the
highest
levels
closest
to the
user
and responsible for providing a
user interface.
View source
What is the core purpose of abstraction?
Abstraction allows
non-experts
to make use of a range of systems or models by hiding
complex
or
irrelevant
information.
View source
How does abstraction contribute to efficient software design?
It enables programmers to focus on
core
elements rather than
unnecessary
details, reducing project
time
and
size.
View source
What are low-level programming languages?
Low-level languages such as
assembly
code and
machine
code directly interact with
computer
systems but are more
difficult
to write.
View source
What is required to program using machine code?
Programming using machine code requires understanding
binary.
View source
What does assembly code require from programmers?
Assembly code
requires programmers to know the
mnemonics
associated with the
instruction
set specific to each
processor.
View source
How do high-level languages provide abstraction?
High-level languages provide an abstraction for the
machine code
that is executed when a program is
run
, making
development
easier.
View source
Why are high-level languages easier to learn and use?
Because their
syntax
parallels natural
language
, making
coding
accessible to
non-specialists.
View source
What is the TCP/IP model?
The TCP/IP model is an abstraction for how
networks
function, separated into four layers:
application
,
transport
,
internet
, and
link.
View source
What is the purpose of separating the TCP/IP model into layers?
It makes the
communication
process
simpler
to
understand
, as each
layer
deals with a
different
part of the
process.
View source
How is outgoing communication visualized in the TCP/IP model?
Outgoing communication is visualized as going
down
the layers, while incoming information goes
up
the layers.
View source
What is the difference between abstraction and reality?
Abstraction is a
simplified representation
of
reality
, where
entities
are
represented
as
structures
like
tables
and
databases.
View source
How are objects in object-oriented programming related to abstraction?
Objects are an abstraction for
real-world entities
, considering their
functionality
,
interface
, and
properties.
View source
What are attributes and methods in the context of abstraction in OOP?
Attributes
are an
abstraction
for the
characteristics
of an
object
, while
methods
are an
abstraction
for the
actions
a
real-world
object can
perform.
View source
What should you consider when devising an abstract model for a scenario?
What is the problem that needs to be solved
?
Can the problem be solved computationally
?
What are the key features of the problem
?
How will the model be used
?
What format does the model need to be displayed in
?
Who will use the model
?
What level of expertise do they have
?
Which parts of the problem are relevant based on the target audience
?
View source
Why is it important to remove irrelevant details when devising an abstract model?
Removing irrelevant details prevents
confusion
and focuses on the
problem
that needs
solving.
View source
What factors should be considered regarding the model's display format?
Factors such as
convenience
,
affordability
, and
ease
of
access
should be considered.
View source
How does the level of expertise of users affect the design of an abstract model?
The
level
of
expertise
affects how the model is
presented
and what
details
are included or
excluded.
View source
Why is it important to consider how many people will use the model?
It helps determine the
complexity
and
usability
of the model based on the
audience size.
View source
See all 41 cards