Computer programming
Abstraction
Complex systems theory
Complexity
Systems
Transdisciplinarity
Information hiding
Software design
Design Patterns
Software engineering
Computing
Holism