Decompositon
Patten Recognition
Abstraction
What is Abstraction in Programming – And Why is it Useful?
Algorithms