Computation is a formal discipline used by scientists—in the social, physical, and biological disciplines—to uncover new insights and advance the frontiers of knowl- edge. It also informs the Computational Paradigm of Social Science introduced in Chap. 1. Social processes are algorithmic, and social systems are supported by al- gorithms, in the sense defined in this chapter. What are the elements of computation with the greatest significance for CSS? How is computation used to better under- stand social systems and processes? What are the core concepts and principles of social computation? Problem-solving, design, and programming are core elements of computation and the computational approach to social science. Similar activities are also foundational to understanding social systems.
The role of computation in CSS is comparable to that of mathematics in physics: it is used as a language to formalize theory and empirical research to express, study, and develop our understanding of social complexity in ways that are not accessible through other means. By contrast, pure computer scientists use computation to study computing, just as pure mathematicians use mathematics to study mathematics. This instrumental or utilitarian motivation does not prevent computational social scientists from developing deep interest in computation; there is much a computational social scientist can learn from the pattern of thinking of a computer scientist, a musician, a mathematician, or an historian. However, CSS is more like ap- plied computer science or applied mathematics:1 the formal approach (mathematical languages or programming languages) is used to gain substantive, domain-based knowledge about social complexity in all its rich forms.