Syllabus: Show understanding of how to model a complex system by only including essential details, using
Abstraction involves removing details that are not needed to solve a problem; only essential information is kept. Abstraction allows programmers to deal with complex problems.
Ways to abstract programs
Use datastructures
Use the best data structure for the given problem, for example one of: array, list or binary tree may be the best solution to solve your problem and should be used.
If none of them suit your needs you can use an another abstract datatype, for example stacks or queues which can be implemented on top of another already existing abstract datatype, for example an array. (Layers of abstraction)
Program development
Focus on the main problem while programming, ignoring other details - leave them for later.
While learning new concepts, only focus on the new concept, and not past concepts you already know - they can be added later
TODO: Add links to other pages for abstraction