Excigma
SocialProjectsNotes

Abstraction


Syllabus: Show understanding of how to model a complex system by only including essential details, using

  • Functions and procedures with suitable parameters
  • Abstract datatypes (ADTs) (Stacks, queues, linked-lists binary trees, hash tables, dictionaries)
  • Classes (OOP aka Object-oriented programming paradigm)
  • Facts, rules (Declarative programming paradigm)

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
  • Program development

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

Excigma's Webpage

Made by Excigma during 2021 to assist notekeeping and study.