计算机学科中的12个核心概念英文版
Below is a list of twelve core concepts that pervade the discipline and are independent of any particular
technology. Each of them
Occurs throughout the discipline Has a variety of instantiations Has a high degree of technological independence
In addition to the three characteristics given above, most core concepts Have instantiations at the levels of theory, abstraction and design
Have instantiations in each of the nine subject areas
Occur generally in mathematics, science and engineering 1. Binding
Binding is the process of making an abstraction more concrete by associating additional properties with it. Examples include assigning a process with a processor, associating a type with a variable name, associating a library object program with a symbolic reference to a subprogram, instantiation in logic programming, associating a method with a message in an object-oriented language, creating concrete instances from abstract descrīptions.
2. Complexity of Large Problems
The effects of the nonlinear increase in complexity as the size of a problem grows. This is an important factor in distinguishing and selecting methods that scale to different data sizes, problem spaces, and program sizes. In large programming projects, it is a factor in determining the organization of an implementation team.
3. Conceptual and Format Models
Various ways of formalizing, characterizing, visualizing and thinking about an idea or problem. Examples include formal models in logic, switching theory and the theory of computation, programming language paradigms based upon formal models, conceptual models such as abstract data types and semantic data models, and visual languages used in specifying and designing systems, such as data flow and entity-relationship diagrams.
4. Consistency and Completeness