See List of principles of Computer Science

Binding. the connection between an abstraction and a concrete instantiation. This is a case of that.

Complexity of large problems. How does a solution scale in time, space, people?

Models. All the ways of symbolizing ideas or problems.

Consistency and completeness. Do all the parts of a system agree with one another? Does the system handle all possible cases?

Efficiency and cost/benefit. How does the cost to solve the problem stand relative to the benefit? Is there a better way to do it? Is it feasible given constraints?

Evolution and change. Robustness in the face of change. Manageability. Maintainability.

Abstraction. Managing complexity and structuring systems by hiding details and exploiting recurring patterns.

Spatiality. Proximity and connectivity and inclusion/subsumption.

Temporality. Sequence, duration, synchrony.

Reusability. Genericizing tools so they can perform in multiple contexts via parameterization. See also abstraction and patterns and modularization.

Security. Rule enforcement. Boundaries. See also consistency and completeness.

Tradeoffs. Systems link properties that vary indirectly. Space-time, design objectives, constraint selection.