Social Genesis in Computing Education
It is common to think of learning as the acquisition of knowledge by an individual learner. Starting a century ago, Lev Vygotsky developed a different perspective on learning, initiating a tradition of educational research whose momentum and influence continue to grow. One of Vygotsky's key principles is the general genetic law of cultural development that states that whatever skilled cognition that individuals carry out within their own minds is preceded by homologous activity carried out by a social group of which this individual was a part. In linking the individual and society through this law, learning is not simply a matter of the acquisition of domain knowledge. Rather, it is a cyclic process by which a social group, in its functioning through joint activity, leads to individuals taking into themselves (i.e., internalizing) the social forms of activity. In this article, our goal is to explicate Vygotsky's genetic law and demonstrate its utility for yielding novel insight into computing education. We provide an extended illustration of the use of Vygotsky's law in examining a teacher and students in a university setting write code together during a class session. What our analysis reveals is that the teacher and students together enact a sequential, rule-based, and dialogical process of problem decomposition and code writing far different from the plan and schema-based models for programming that have emerged from prior research focused on the individual student and their cognitive strategies and structures. We provide commentary on implications of the genetic law for both research and practice in computing education.