P01: Computational Social Science

What is it???

The “social science” part refers to the domain of study: social phenomena – how people behave in various circumstances and in groups large and small. The many disciplines subsumed in the social sciences each study different aspects and different scales of human behavior. Linguistics is concerned with how people communicate via language, and the properties of languages. Communications is concerned with how people and societies are shaped by the different mediums by which information and messages are transmitted. Psychology and Cognitive Science focus on what shapes the behavior of individuals. Economics is concerned with the aggregate behavior of large groups of people during the production, distribution, and consumption of valuable goods and services. Political Science is concerned with governance and power among large groups of people.

The “computational” part refers to the use of computation – calculation using well-defined steps, which as we will learn is called an algorithm. Computation is carried out by computers following instructions written in a programming language. At the very minimum, such computer programs automate repetitive calculations, thus allowing the calculations to be done faster, with less effort, and without human error. However, the speed and accuracy of computer programs makes entirely new classes of tasks and calculations possible, which enables novel scientific theories, models, data sources, and predictions.

“Computational Social Science” is thus the use of computers to carry out calculations to understand social phenomena. This has a two facets: (1) generating and analyzing large datasets of human behavior, (2) simulating or optimizing models to understand their implications and predictions in complex situations. Although specific datasets, analysis methods, and models vary across domains of interest, there is considerable overlap in core skills and ideas.

The goal of computational social science training is to teach you how to write computer programs that are useful for understanding social phenomena. This class in particular is focused on the earliest, steepest part of the learning curve: taking students from zero experience programming computers, to a point where they can write small Python programs to do simple simulations and data analyses.