IEEE和ACM提出的CC2004计划提出了学科内在联系的12个重复的概念,能了解并适当使用这些概念的能力被看做成熟计算机科学家和工程师的标志之一,这十二个概念是:
- 结合(Binding):把抽象概念与附加特效相联系,从抽象描述建立具体实例。
- 大问题复杂性(Complexity of Large Problems):面对日益增长的系统复杂性,要能够区分和选择各种方法,以此来规划不同的数据规模、问题空间和程序规模。
- 概念和形式模型(Conceptual and Format Models):对一个思路或者问题进行形式化、特征化、可视化描述。
- 一致性和完备性(Consistency and Completeness):始终保持系统各部分的正确性、可靠性和整体一致性,使系统具有正常的行为。
- 效率(Efficiency):对系统空间、时间、人力、财力等资源分配消耗的度量。
- 演化(Evolution):了解系统演化的事实和意义以及应采取的对策。
- 抽象层次(Levels of Abstraction):能对系统或实体进行分层次抽象、表示和描述。
- 按空间排序(Ordering in Space):所讨论的实体在学科、知识中的局部性和相邻性上的定位。
- 按时间排序(Ordering in Time):所讨论的实体对时间的依赖性。
- 重用(Reuse):系统中各类实体、技术、概念等可被再次使用的能力、
- 安全性(Security):系统对合法用户的响应、对非法者的拒绝以及保护自己不受外部影响和攻击的能力。
- 折中和结论(Tradeoffs and Consequences):系统设计中对技术、方案等的合理取舍,满足可用和可实施性。