1/8
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
abstraction
• Removing unnecessary detail
• Simplifying a complex problem
• Focussing on only the necessary/main parts
benefits of abstraction
Reduces programming time
Reduces complexity of code (through abstraction by generalisation)
Reduces amount of memory required / computational power
Simplifies the problem so it's easier to solve / understand (by recognising common patterns)
Allows programmers to focus on core aspects of the problem
representational abstraction?
analysing what is relevant
and simplifying a problem
based on that
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 being stored are hidden
programmers make use of abstract data structures (stacks / queues)
without needing to know how the structures are implemented
procedural abstraction
used in decomposition
models what a subroutine does without considering how its done
levels of abstraction
highest levels = are closest to the user , responsible for the interface for user to interact with hardware
lowest levels of abstraction = responsible for performing these tasks through machine code
need for abstraction
networking and programming languages-
High-level languages: provide an abstraction for the machine code
layers in networks are abstracted data from each other
difference between abstraction and reality
Abstraction is a simplified representation of reality
through variables, tables and databases