Learning by coding: A sociocultural approach to teaching web development in higher education

As information technology continues to evolve rapidly in society, coding skills become increasingly essential to develop. The purpose of this article is to examine differences between the learner-centered and sociocultural approaches when teaching and learning coding in higher education. A quasi-experiment was applied over six academic semesters evaluating the mentioned approaches in terms of students’ explicit attitudes, grades, and course evaluations. The findings indicated that the sociocultural approach may be a viable alternative to the learner-centered approach. More specifically, students indicated a preference for the sociocultural approach over the learner-centered approach, a greater number of students who passed the courses were educated via the sociocultural approach, and overall satisfaction was significantly higher for this approach as well. While the sociocultural approach has demonstrated to be advantageous, its integration in courses must concurrently be carefully balanced against constraints that teachers continuously experience in higher education, such as time and resources, which presents a challenge to the design of courses and to academia at large.


Introduction
Teaching and learning coding in web development courses are not easy tasks for teachers or students in higher education (Nordström 2011). Research concerning coding has primarily focused on specific activities related to coding in pairs (Kavitha and Ahmed 2015;Umapathy and Ritzhaupt 2017), peer assessment or code review (Sitthiworachart and Joy 2004;Wang et al. 2017), teaching coding through video games (Seng and Yatim 2014;Smith and Chan 2017), through the use of visualizations (Hundhausen et al. 2002), or to non-computer scientists (Echeverría et al. 2017;Muller and Kidd 2014). Instead, this article aims to provide systematic evidence, empirical results, and longitudinal data to support the use of available pedagogical approaches when teaching coding in higher education.
Teaching theories broadly fall into two pedagogical approaches, namely (1) the teacher-centered approach and (2) the learner-centered approach (Duckworth 2009;Wohlfarth et al. 2008). The teacher-centered approach is characterized by direct instruction, through which teachers are seen as authorities and experts whereas students are considered passive receivers of information. In the learner-centered approach, teachers are also perceived as authorities, but they and students play a more active role in the learning process (Wright 2011). The teacher-centered approach has during the past couple of decades been replaced by the learner-centered approach in higher education (Lasry et al. 2014;Schreurs and Dumbraveanu 2014;Weimer 2002). The learner-centered approach follows the constructivist philosophy of teaching, which is strongly influenced by the writings of John Dewey (Brown 2008;Schuh 2003;Weimer 2002). By and large, constructivist theories hold the view that the acquisition of knowledge is constructed over time by taking actions on the world. Constructivism emphasizes that learning is an active process that requires doing and direct experience rather than relying upon teachers' expertise to transfer knowledge (Brown 2008;Woo and Reeves 2007).
While a body of research supports the notion that active student engagement produces higher quality learning compared to teacher-centered instruction whereby a teacher plays a central role (Gillies 2016;Johnson and Johnson 1999), the learnercentered approach involves serious issues pertaining to the conceptions of learning. These include trends "(a) to promote active student engagement at the expense of active teaching; (b) to prioritize individual experience over linguistically-mediated cultural knowledge in the development of higher-order knowledge; and (c) to confuse desired outcomes of education with the developmental processes that lead to those outcomes" (Mascolo 2009, p. 7). With previous considerations in mind, an alternative to the teacher/learner-centered dichotomy has been proposed by Rogoff (1990Rogoff ( , 1993Rogoff ( , 1995Rogoff ( , 2003Rogoff ( , 2008: a sociocultural approach that includes three interrelated concepts, namely apprenticeship, guided participation, and participatory appropriation. These three concepts may be used to analyze learning as an ongoing and dynamic process in organized sociocultural activities. Based on the previous reasoning, this article explores the sociocultural approach (in contrast to the learner-centered approach) in a higher education setting that involves teaching coding to students within the context of web development. Correspondingly, the article is guided by the following research question: What are the differences between the learner-centered and sociocultural approaches in terms of students' explicit attitudes, outcomes, and overall satisfaction when teaching coding in higher education? In this article, explicit attitudes, unlike implicit, are those at the conscious level, which people deliberately form and are accessible to self-report (Rydell et al. 2006). Outcomes refer to students' final grades in a given course (Ni 2013), while overall satisfaction is concerned with course evaluations. A quasi-experiment was applied throughout six academic semesters to address this question. This experiment, which will be described further in the methodology section, involved evaluating the aforementioned approaches in introductory web development courses provided on campus and online. The remainder of this article proceeds as follows. The next section will review some key literature that grounded the study. The article then describes the research methodology, followed by an overview of the investigation and the major findings. The article concludes with a discussion of the results and provides recommendations for future work.

Beyond teacher-centered and learner-centered pedagogy
A body of research has examined the teacher-centered and learner-centered approaches to teaching and learning in educational contexts (Biase 2018;Bloom et al. 2016;Mascolo 2009;Mckenna 2013). Although the majority of research has paid considerable attention to the contexts of primary and secondary education (An and Reigeluth 2011;Polly et al. 2015;Sheppard and Brown 2014), other studies have examined these approaches in university settings (Di Felice 2018; Richmond et al. 2016;Schreurs and Dumbraveanu 2014;Shugart 2016).
The teacher-centered approach can be described as a pedagogy in which a teacher "(a) is the dominant leader who establishes and enforces rules in the classroom; (b) structures learning tasks and establishes the time and method for task completion; (c) states, explains, and models the lesson objectives and actively maintains student ontask involvement; (d) responds to students through direct, right/wrong feedback, uses prompts and cues, and, if necessary, provides correct answers; (e) asks primarily direct, recall-recognition questions and few inferential questions; (f) summarizes frequently during and at the conclusion of a lesson; and (g) signals transitions between lesson points and topic areas" (Hancock et al. 2002, p. 366). Another definition is provided by Richards and Schmidt (2010), who describe the teacher-centered approach as "a teaching style in which instruction is closely managed and controlled by the teacher, where students often respond in unison to teacher questions, and where whole-class instruction is preferred to other methods" (p. 586). The basic idea of the teachercentered approach is that a teacher plays a central role in regard to teaching and learning processes. Learners, in this approach, are viewed as passive recipients of information or knowledge, who are being directed in their learning by a teacher. In this sense, a teacher is perceived as the primary information giver and evaluator (Allen 2004).
In contrast, the learner-centered, or student-centered approach, can be characterized as a pedagogy whereby a teacher "(a) include learners in decisions about how and what they learn and how that learning is assessed; (b) value each learner's unique perspectives; (c) respect and accommodate individual differences in learners ' backgrounds, interests, abilities, and experiences; and (d) treat learners as co-creators and partners in the teaching and learning process" (McCombs 2001, p. 186). Another definition of the learner-centered approach is provided by Hancock et al. (2002), who claim that "teachers are a catalyst or helper to students who establish and enforce their own rules, (b) teachers respond to student work through neutral feedback and encourage students to provide alternative/additional responses, (c) teachers ask mostly divergent questions and few recall questions, (d) students are allowed to select the learning task and the manner and order in which it is completed, (e) students are presented with examples of the content to be learned and are encouraged to identify the rule of behavior embedded in the content, (f) students are encouraged to summarize and review important lesson objectives throughout the lesson and at the conclusion of the activity, (g) students are encouraged to choose new activities in the session and select different topics for study, and (h) students signal their readiness for transition to the next learning set" (p. 367). A comparison between the teacher-centered and learner-centered approaches is presented in Table 1.
Common to these definitions is that the learner-centered approach perceives learners as active agents and the principal architects of their learning. It aims to shift control Table 1 A comparison between the teacher-centered and learner-centered approaches, adapted and developed from (Allen 2004), Cullen and Harris (2009), Huba and Freed (2000), and Weert (2002) Instructional approach

Factors
Teacher-centered Learner-centered from a teacher to a learner by encouraging the latter to play an active role and take greater responsibility for what and how he or she learns. The basic ideas of the learnercentered approach originate in constructivist developmental theory (Dewey 1938;Fosnot and Perry 2005;Piaget 1973) and refer to the notion that individuals construct, rather than accumulate, knowledge. Accumulation, in this context, pertains to a teaching process whereby knowledge is cumulatively transmitted from a teacher (e.g., giving presentations, handing out materials) to a student who is said to have received the knowledge (e.g., taking notes, reading handouts), which neglects the individual knowledge structures of each student. Attention to the central role of learners in their learning process is not only important but crucial. Concurrently, it is equally necessary to acknowledge that such a focus may potentially reduce the essential role of teachers in educational processes to mere facilitators, organizers, or coaches. For instance, Mascolo (2009) argues that "for the vast majority of students of all ages, the goal of promoting active engagement cannot occur in the absence of authoritative teachers who play a central role in organizing the structure, content, and direction of a student's learning" (p. 8). This perspective is not novel, having been previously proposed by Wood et al. (1976) in their concept of scaffolding.
Scaffolding refers to a process that facilitates a novice "to solve a problem, carry out a task or achieve a goal which would be beyond his unassisted efforts" (Wood et al. 1976, p. 90) (see also Mascolo 2005 for an elaborate list of forms and levels of scaffolding). Teachers, in this sense, have the critical function to break down tasks into attainable components with the explicit purpose to support, guide, and direct learners in their learning process and thus construct knowledge (Gauvain 2001;Mascolo 2009). As learners demonstrate an understanding of assignments and a capacity to complete similar assignments independently, the use of scaffolding can be gradually reduced and ultimately withdrawn.
Although the learner-centered approach advocates students' active and self-directed engagement in constructing knowledge, it also introduces issues related to the understanding of learning. As Mascolo (2009) argues, the learner-centered approach (a) encourages active student engagement over active teaching, (b) focuses on individual understanding at the expense of cultural knowledge that may lead to higher order forms of thinking and skills, and (c) fails to distinguish between expected learning results and the developmental processes that might lead to those results.
While constructivist assumptions such as independent processes and individual active explorations may lead students to construct knowledge, they fail to recognize the value of the mediated essence of higher-order knowledge and skills (Mascolo 2004;Metz 1995), including critical thinking, creativity, reasoning, and problem solving (see further, Brookhart 2010). Such knowledge and skills are the "historical products of culture and are represented and communicated through the social vehicle of language" (Mascolo 2009, p. 9). For instance, within the context of web development, coding websites requires students to understand various languages that encompass different systems of signs, semantics, and syntaxes. These languages include shared social agreements that cover implicit practices and conventions for writing code, which cannot be learned through observation alone. Instead, such linguistically mediated cultural knowledge may be understood through social guidance and cultural interactions with others who comprehend their conventional meaning (Mascolo 2009;Rogoff 2008).
Furthermore, it has been elaborated that "the main obstacle seems to have been the unclear nature of the understanding and the actual application of learner-centered education and the scope of the intended change that focused on the high pedagogical ideal" (Chisholm and Leyendecker 2008, p. 201). This notion implies that the learnercentered approach has proved challenging to translate into practice (Schweisfurth 2011;Shah and Quinn 2014) and that a structured approach may be more viable (Altinyelken 2010;Mascolo 2009).
In summary, this section has reviewed the teacher-centered and learner-centered approaches. While the latter has been widely used in educational theory and practice, it also has at the same time several limitations. In response, a sociocultural approach of development, as described in the following section and as recognized by various scholars (Altinyelken 2010;Mascolo 2005Mascolo , 2009Metz 1995;Rogoff 2008), may serve as an alternative conceptual lens to study the intertwined processes of teaching and learning in a context of sociocultural activities.

Teaching and learning as sociocultural activities
The sociocultural approach of Rogoff (1990Rogoff ( , 1993Rogoff ( , 1995Rogoff ( , 2003Rogoff ( , 2008 may be perceived as a conceptual lens for observing development on three planes, namely community, interpersonal, and personal processes. Each of these processes corresponds to the three concepts that constitute the basis of this approach, that is, apprenticeship, guided participation, and participatory appropriation (Rogoff 1995(Rogoff , 2008. The three concepts share the notion that teaching and learning do not ensue in a teacher-centered or a learner-centered process, but rather in a context of sociocultural activities. The sociocultural approach is closely aligned with the theories of Vygotsky (1978Vygotsky ( , 1987, which, by and large, focus on individuals' "interaction with other members of the society who are more conversant with the society's intellectual practices and tools (especially language) for mediating intellectual activity" (Rogoff 1995, p. 141). In addition, the approach is related to Vygotsky's concept of the zone of proximal development (ZPD), which can be described as what learners are able to do with guidance. For instance, a study by Freund (1990) compared the ways in which children with and without their mother organized furniture items in certain spaces of a doll house. The results of two subsequent tasks revealed that children who worked with their mother (ZPD)in comparison to those who did notdemonstrated the greatest improvement in terms of organizing from their first to second attempt. Freund concluded that guided learning may lead to both a greater understanding and performance than working alone.
Moreover, the first concept of apprenticeship refers to processes that occur on a plane of community activity, with attention paid to "the active roles of newcomers and others in arranging activities and support for developing participation" (Rogoff 1995, p. 143) in order to "serve as resources and challenges for each other in exploring an activity, along with experts" (Rogoff 2008, p. 61). Lave and Wenger (1991) have reviewed five studies of apprenticeship learning, concluding that "learning itself is an improvised practice: A learning curriculum unfolds in opportunities for engagement in practice" (p. 93). This accentuates the different paths that apprentices navigate, as well as their use of available resources to participate in a social practice (Kirshner 2008). Moreover, this can occur even at a young age, as Rogoff (2003) demonstrates in the case of weaving by Navajo children: "Navajos do not teach their children, but they incorporate them in every life task, so that children learn themselves, by keen observation. Mothers do not teach their daughters to weave, but one day a girl may say, 'I am ready. Let me weave'" (p. 324). Rogoff's description emphasizes how learning and picking up values, skills, and cultural tools may additionally occur through observations rather than exclusively relying on explanations. In such apprenticeships, a master may provide pointers as they demonstrate central features of a task, which Coy (1989) depicts in the following example: "Occasionally, Magalgal [a Kenyan master blacksmith] would call my attention to what he was doing to make certain that I was paying attention to something that he felt was important. He would say, 'now this is the difficult part,' and that was my cue to attend to what he was doing" (p. 120).
In other apprenticeships, novices learn their trade through engagement and direct involvement with other apprentices as well as a master in real production (Rogoff 2008). In general, an apprentice focuses on helping a master's trade, but may also contribute to the practical work by watching, listening in, and being a peripheral participant (Lave and Wenger 1991). These actions are, like observation or direct involvement, essential forms of learning, which Lave (1997) illuminates in the following example: "An apprentice watches masters and advanced apprentices until he thinks he understands how to sew (or cut out) a garment, then waits until the shop is closed and the masters have gone home before trying to make it" (p. 21).
Moreover, the concept of guided participation has been proposed by Rogoff (1995) as a framework for sociocultural analysis on the interpersonal plane. The concept is built on the notion that learning is neither a teacher-centered nor a learner-centered process, but rather takes place within a context of sociocultural activities. It does not refer to a specific situation, but instead to a perspective on how to understand interpersonal engagements in sociocultural processes (Rogoff 1995). Guided participation is defined as "the processes and systems of involvement between people as they communicate and coordinate efforts while participating in culturally valued activity," which not only include face-to-face interaction, but also "side-by-side joint participation that is frequent in everyday life and the more distal arrangements of people's activities that do not require copresence" (Rogoff 2008, p. 60). Communication and coordination are essential characteristics of the concept, which occur in participatory processes of collective efforts and shared endeavors (Rogoff 1995).
Guided participation emphasizes the interconnected roles and mutuality of the individual, the social, and the cultural environment, where each is innately intertwined with the others (Rogoff 1993). In this view, learning occurs within a context of sociocultural activities, and a learner participates as an integral part of the social and cultural processes that occur within different contexts: none exists separately. Guidance refers to "the direct or indirect structuring of people's possibilities for participation that promotes some particular direction of development" (Rogoff 1995, p. 161), which may be understood as including the broad spectrum of varied instructions, scaffolding, and help that experienced partners contribute to novice peers of differing skill sets. Participation, in this sense, involves "observation, as well as hands-on involvement in an activity" (Rogoff 2008, p. 60). The term activity is used by Rogoff as the unit of analysis to lookin the foregroundat the different parts separately, while keeping in mindin the backgroundtheir interdependence in the overall picture. The notion of participation transcends the fact that students must be active and engage in their learning; rather, for Rogoff (1993), learners construct skills and understandings from their actions in a social context. Further, Rogoff (1995) uses the term "participatory appropriation" to refer to a process by which individuals "transform their understanding of and responsibility for activities through their own participation" (p. 150) in an activity. In other words, through participation, individuals may develop a greater understanding of an activity and consequently become equipped to handle similar or interrelated activities and subactivities. Seen from the perspective of participatory appropriation, learners and teachers are mutually interdependent, playing active but dynamic roles in ongoing sociocultural activities. Learners appropriate elements of meaning and skills from what is done with teachers, lectures, peers or books. There is not "the teacher and then the student; there is only the dynamic teacher-object-student relation as it evolves over time within cultural contexts" (Mascolo 2009, p. 12). In other words, participatory appropriation might be seen as a development in progress, as individuals participate in dynamic and transformative processes with others in meaningful sociocultural activities. Transformation, in this sense, involves changes that are in particular directions, which may vary based on local cultural values, needs, and circumstances (Rogoff 1995). For clarity purposes, the sociocultural approach can be contrasted with the teacher-centered and learner-centered approaches as presented in Table 2.
In summary, the sociocultural approach places emphasis on continuous, synchronous, and hands-on guided participation. Students collaborate with each other and with more knowledgeable teachers as partners in organized sociocultural activities for the purpose of developing higher-order thinking skills. This approach provides concepts, perspectives, and characteristics that theoretically underpins and prescribes different forms of activities that were adopted in the research presented here. These activities, which will be outlined in the methodology section, are related to teaching and learning coding in introductory web development courses at the university level. Research concerning collaborative coding in educational settings will be described in the following section.

Collaborative coding as a learning environment
In general, when teaching coding in web development courses, teachers must find relevant coding tools that allow students to practice coding and collaborate with other students, use appropriate learning management and assessment systems to provide students and instructors with immediate feedback, and apply an effective teaching approach for classroom instruction (Ivanović et al. 2017;Pears et al. 2007). The choice of teaching is often contingent on a teacher, such as in terms of educational philosophy, learning situation, subject area, and use of support tools and technologies (Pears et al. 2007). One approach that has been frequently used is collaborative coding, which is an educational technique whereby a group of students engages with one another to achieve shared goals in coding tasks.
Collaborative coding emanated from cognitive and social constructivist theories that perceive learning as an active and collaborative endeavor in constructing new knowledge based on existing knowledge and social interaction (Kalaian and Kasim 2015). Collaborative coding has long been deemed a valuable practice that enables novice learners to develop computational thinking (CT) competence (Denner et al. 2014; Table 2 A comparison between the teacher-centered, learner-centered, and sociocultural approaches, adapted and developed from Allen (2004), Cullen and Harris (2009), Huba and Freed (2000), Mascolo (2009), Richmond et al. (2016), Rogoff (1995Rogoff ( , 2008, and Weert (2002 Emurian et al. 2008). CT competence, in this sense, can be defined as a "problemsolving process involving computational design (i.e., understanding computational problems and designing computational solutions), computational practice (i.e., solving the problems), and computational performance (i.e., testing the solutions)" (Wu et al. 2019, p. 2).
Furthermore, collaborative coding has demonstrated other benefits such as increased engagement in the learning process, effective work performance, a deeper understanding of coding, and minimal errors in coding solutions (Williams and Kessler 2002). Beck and Chizhik (2013) have examined the differences between a collaborative learning approach and a traditional lecture-based approach when teaching coding in a computer science course. Their results indicate that a collaborative learning approach (1) significantly improves students' outcomes (e.g., answering multiple-choice questions, reading code examples and suggesting output, writing short programs) and (2) positively influences students' confidence in their problem-solving abilities.
Other factors have also been identified as contributing to improving students' learning outcomes in coding courses, such as (1) customized learning environments and (2) increased student engagement in the learning process (Roddan 2002). Regarding the first factor, advances in network and collaboration technologies have enabled the creation of web-based cloud-integrated development environments (IDEs) that support collaborative, real-time synchronous, and interactive coding (Bravo et al. 2013). Examples of IDEs include Cloud9 (c9.io), Codeanywhere (codeanywhere. com), and Gitpod (gitpod.io). IDEs have provided user-friendly interfaces, useful functionality to support students' learning, and the potential for teachers to guide students in their environments. Concerning the second factor, Lu et al. (2017) have applied the strategy of learning analytics in massive online open courses (MOOCs) involving coding to improve students' engagement (i.e., video watching, collaborative programming, discussions), defining learning analytics as "identifying at-risk student populations and providing proactive intervention strategies" (Lu et al. 2017, p. 221). Their results indicated that students who received learning interventions improved both their learning outcomes and levels of engagement, consistent with previous studies (Ma et al. 2015;Mohd Syah et al. 2016;van Leeuwen et al. 2014).
Moreover, some researchers have suggested that peer assessment using constructive feedback may enable students to act as an instructional resource for one another (Leahy et al. 2005), thereby improving their coding performance (Shui Ng 2012) and critical thinking awareness (Wang et al. 2017). Nevertheless, this feedback should be seen as more than the mere provision and reception of information, and rather as an ongoing communicative process that materializes between two or more people in a dynamic context of sociocultural activities (Mascolo 2009). For feedback to prove useful, students must develop evaluative judgment, that is, the ability to determine the quality of one's work and that of others (Tai et al. 2018). For students to become more accurate in assessing their work, teachers need to both facilitate ongoing opportunities for selfevaluation over time and engage students in strengthening their ability to make reasonable judgments (Boud et al. 2013). Rather than conveying conventional feedback such as telling, teacher feedback may have a greater impact on students' learning where it is focused on providing support to improve their internal feedback (McConlogue 2015). In the same line of thought, Mascolo (2009) has emphasized how "feedback that (a) acknowledges a student's ongoing progress, (b) articulates the value of hard work and continuous improvement, and (c) identifies what a student has to do in order to take the next incremental step in developing any given skill can foster the development of a student's sense of the value of incremental learning over the mere attempt to meet particular performance goals" (pp. 20-21).
While research concerning collaborative coding has often been focused on facilitating an educational environment where students work together on shared goals and give each other feedback, other researchers have argued that students need to be actively guided by teachers who provide them with "background theory and step-by-step demonstrations" using "appropriate pedagogical techniques and [...] 'real world' examples and analogies that are familiar to them" (Muller and Kidd 2014, p. 177). The role of teachers is to demonstrate how coding is more than a single entity, that is, a "blending of the command-line, programming language, graphics system, and shell programming" (Muller and Kidd 2014, p. 176). Two challenges that many teachers experience in elucidating this mixture comprise the choice of coding approach to use and the languages to teach students (Westin and Nordström 2004). Two approaches have emerged since the inception of the Internet and the World Wide Web at the beginning of the 1990s, namely structured-first and objects-first. The structured-first approach aims to introduce students to the primary concepts of programming (e.g., control structures, data types, statements, recursion) (Ivanović et al. 2017). In contrast, in the objects-first approach, students are exposed to the fundamentals of objectoriented programming (OOP) (e.g., classes, objects, inheritance, polymorphism) (Börstler et al. 2010;Eliasson et al. 2006). The structured-first approach is commonly used in introductory courses, while the objects-first approach is often applied in advanced classes.
Several languages are available for teaching coding within the domain of previous approaches, and can broadly be categorized into two groups, namely (1) declarative languages (e.g., HTML, CSS, SQL) and (2) imperative languages (e.g., PHP) (Lloyd 1994). Briefly stated, HTML (Hypertext Markup Language) defines content on the web, whereas CSS (Cascading Style Sheets) designates a style for mentioned content. SQL (Structured Query Language) is used for managing data in a database and PHP (PHP: Hypertext Preprocessor) serves the purpose of communicating with a database to create dynamic web pages. The first group focuses on what programs should accomplish (e.g., presentation of data), while the second mediates between applications and specifies how an application should achieve results (e.g., generate or modify data).
Despite not being programming per se, one means of introducing students to coding is to adopt the languages HTML and CSS. Regardless of the barriers associated with these languages, such as overcoming syntax errors (Park et al. 2015;Park et al. 2013), they are perceived as readily accessible with regard to understanding basic computer terms, structuring content, and producing desired results based on written code (Muller and Kidd 2014;Vickery 2014). Building on the foundation of HTML and CSS, it is feasible to expand and deepen students' understanding of coding by adopting the languages PHP and SQL (Adams 2007;Wang 2006), which are considered more demanding due to their steep learning curves (Douce 2019). The current study focuses on the structured-first approach and both language groups in two introductory web development courses in a higher education context.
In summary, research concerning collaborative coding has demonstrated a beneficial impact on students' learning outcomes, performance, and CT competence.
Collaborative coding does not, however, come without any challenges. Indeed, issues include choosing an IDE for collaboration, providing adequate support to students, structuring step-by-step guidance, choosing a coding approach (e.g., structured-first, objects-first), selecting coding languages (e.g., HTML, CSS, PHP, SQL), and adopting a strategy to improve students' levels of engagement as well as their evaluative judgement to give constructive feedback to each other. In the following section, the methodology of this study will be described to address the research question, specifically regarding the differences between the learner-centered and sociocultural approaches in terms of students' explicit attitudes, outcomes, and overall satisfaction when teaching coding in higher education.

Research design
A quasi-experiment was used to compare the learner-centered approach (LCA) with the sociocultural approach (SCA) throughout six academic semesters, from fall 2015 to spring 2018. Adopting a longitudinal design contributed with the benefits of studying the stability of the mentioned pedagogical approaches over time and concurrently address potential extraneous variables such as course literature, curricula design, and the difficulty levels of assignments. All students involved had a non-computer science background and were studying a three-year education program in digital design. They encountered the aforementioned pedagogical approaches in two subsequent coding courses concerning web development, see Table 3. The order of the two courses was based on the program curriculum and with progression in mind. The first course introduced students to the languages HTML and CSS, henceforth web development (WD), and the second expanded on the first by adopting the languages PHP and SQL, henceforth web development for social interaction (WDSI). Both courses consisted of three units, namely (1) introductory exercises for the aforementioned languages, (2) theoretical exam concerning central concepts in web development, and (3) project-oriented web development in groups. Two teachers were assigned to each of the pedagogical approaches throughout the quasi-experiment. Both teachers had, during the period of the experiment, qualifications corresponding to a master's degree in informatics and about 10 years of experience in teaching coding in higher education. The pedagogical plans and results of the courses were regularly discussed. The pedagogical approach provided in the courses shifted for each semester, as presented in Table 3.
The WD course aimed to develop students' understandings of using HTML elements to structure content and use CSS to designate a style for that content. A secondary aim was to improve students' abilities to validate their codes and address potential errors. The WDSI course aimed to build upon the previous course and expand students' programming abilities as well as knowledge by introducing variables, arrays, operators, and control structures (e.g., loops, conditions). A secondary aim was to develop students' skills of database management (e.g., creating tables, writing queries, saving data from web forms). A number of specific activities were associated with each of the pedagogical approaches, as described in Table 4. Rogoff's (1995Rogoff's ( , 2008 concepts of apprenticeship, guided participation, and participatory appropriation were applied in the sociocultural activities. Concerning apprenticeship, learning was characterized by a designated teacher conducting guided, stepby-step demonstrations of lectures and practical coding exercises. Students observed and were directly incorporated in the step-by-step demonstrations by being asked to write each line of the code while the teacher explained its meaning. During this process, the teacher provided pointers to cultural tools, for instance, applying indentation with the aim of structuring code and increasing its readability, writing comments to describe what the code does, and using Emmet to code more efficiently (see http://emmet.io). Some students engaged by asking questions, while others were watching, listening in, and being peripheral participants. Guided participation occurred in two ways. The first was students participating together with the teacher in guided, synchronous, and recorded step-by-step joint activities, i.e., lectures and practical exercises. Students who could not attend were given the option to download the recorded activities along with step-by-step manuscripts that guided them through the different activities. The second was students participating with each other and with the teacher in collective efforts and shared endeavors to complete the central task of each course, namely a project-oriented group assignment. Finally, participatory appropriation was applied by means of participatory and hands-on exercises for the purpose of transforming students' understanding of and responsibility for similar activities and subactivities in the project-oriented group assignment. The above activities were conducted using an online IDE, which offered synchronous collaboration between students as well as with the teacher, code tracking (i.e., who wrote certain code), and chat messaging.
The learner-centered approach included commonly used activities when teaching coding, but also shared elements that were used in the sociocultural approach. For example, exercises were teacher-directed, and learners were able to ask questions.
During these, the teacher provided pointers to cultural tools such as indentation and comments. Examples of code were presented and explained as a whole or in chunks. Furthermore, neither real-time recordings of lectures nor step-by-step, text-based manuscripts were made available for repetition purposes. Guided participation partly took place in terms of adopting a project-oriented group assignment where students participated with each other and with the teacher to collectively carry out the central task of each course. By and large, students used primarily local IDEs, which often were limited in terms of collaboration (i.e., sharing code and files, code tracking, chat messaging).

Participants
At the end of the quasi-experiment, a total of 98 participants completed an online survey that assessed their explicit attitudes concerning the two pedagogical approaches of inquiry. Following data processing for outliers and incomplete/missing values, 85 Table 4 Operationalization of theoretical concepts associated with the learner-centered and sociocultural approaches into specific activities that were adopted in online and campus-based courses in the quasiexperiment Primarily online IDE (e.g., Cloud9); secondarily local (e.g., Atom, SublimeText, Brackets) Feedback Written, oral Written, oral participants remained. A total of 59% of the remaining participants were females (n = 50), 35% were males (n = 30), 2% identified themselves as others (n = 2), and 4% did not wish to disclose their gender (n = 3). Participants had an age range of 19 to 70 years (M = 27.08; SD = 8.17). Of the remaining participants, 48% studied on campus (n = 41) and 52% through an online platform (n = 44).

Materials and measures
Three types of materials were used to address the research question: an online survey, final grades, and course evaluations. First, an online survey consisting of three demographic items and three scales, was used to determine participants' explicit attitudes regarding the two pedagogical approaches, see Appendix. The first three items collected age, gender (female, male, other, do not wish to disclose), and education form (campus, online). The three scales, adapted from Ni (2013), assessed participants' explicit attitudes toward the learner-centered approach when teaching coding (Cronbach's alpha = .87), the sociocultural approach when teaching coding (Cronbach's alpha = .90), and learning engagement factors (Cronbach's alpha = .92). When combined, Cronbach's alpha showed a value of .70, indicating satisfactory internal consistency reliability (Cronbach 1951). The first two scales included five statements each and assessed whether the pedagogical approaches of inquiry improved participants' higher-order thinking skills (e.g., my analytical ability has improved). The two scales were judged on a Likert scale ranging from 1 (completely disagree) to 5 (completely agree). The third scale consisted of eight statements and evaluated students' attitudes concerning how the sociocultural approach had influenced their learning engagement in comparison to the learner-centered approach (e.g., motivation to participate in lectures have ...). It was judged on a Likert scale ranging from 1 (definitely decreased) to 5 (definitely increased). Second, final grades for all students given at the end of the two courses were collected as a measurement of student outcomes. Third, 12 evaluations of the two courses during six academic semesters were collected (WD × 6, WDSI × 6) and the overall mean for each evaluation was used as a measure of student satisfaction with the pedagogical approaches.

Procedure
The survey was created using Qualtrics Research Core service and distributed to participants through e-mail and on their online education platform. Data were collected over a period of 4 weeks, and upon completion they were exported for computation and statistical processing using the IBM Statistical Package for the Social Sciences (SPSS). For each participant, an index was computed for each scale by taking the mean of all judgments and subtracting three. This computation resulted in each scale having a range of −2 to +2, with zero as the center. Values near 2 or − 2 represented strongly felt attitudes and values near zero represented indifference. Final grades and associated gender were obtained using a national database for academic grades. No identifiable data were exported (e.g., social security number, name) in order to maintain students' anonymity. Subsequently, course evaluations were collected from a university database containing quantitative and qualitative feedback given by students. All course evaluations were completed voluntarily and anonymously, with no identifiable data included.

Ethical considerations
A number of ethical considerations were taken into account in accordance with the guidelines by the Swedish Research Council (2017). Prior to the survey, participants were informed that participation was on a voluntary and confidential basis; all responses were anonymized. All collected data were solely used for the current study and was not shared with any third-parties. Furthermore, participants were also informed that they may at any time during the survey choose to end their participation. Because the survey questions were related to courses students had taken, they may have evoked positive or negative emotions, which in turn, could have biased the answers.

Results and analysis
This article has sought to examine the differences between the learner-centered approach and the sociocultural approach in terms of students' explicit attitudes, outcomes, and overall satisfaction when teaching coding in higher education. In the following, the results from the data analyses will be presented. As recommended by Greenland et al. (2016) and Wasserstein et al. (2019), a surprisal value (s) will be provided where applicable.
Three scales were used to examine students' explicit attitudes toward the learnercentered approach when teaching coding (LCA), the sociocultural approach when teaching coding (SCA), and the influence of the SCA relative to the LCA on their learning engagement (LE). A one-sample t-test was applied to the LCA, SCA, and LE, with a test value of zero. The results indicated that attitudes towards the SCA were more positive (M = .71; SD = .97) than those for the LCA (M = .18; SD = .92), with the former, but not the latter, being statistically significant, t(84) = 6.71; p = .000, s = Inf, 95% CI [0.50, 0.92]. Furthermore, the results revealed that attitudes towards the SCA, in comparison to the LCA, were positive (M = .99; SD = .81) and statistically significant in terms of learning engagement, t(84) = 11.35, p = .000, s = Inf, 95% CI [0.82,1.17]. Additional analyses of the LCA, SCA, and LE demonstrated no differences by age, gender, and education form.
Moreover, to examine outcomes in relation to the LCA and the SCA, final grades were extracted for the two courses taught over six academic semesters, namely web development (WD) and web development for social interaction (WDSI). A total of 308 final grades were obtained for the WD course, and after excluding missing grades (e.g., intermission), 280 grades remained. A chi-square test of independence was performed for the WD course to examine the relationship between the final grades (fail, pass) and the pedagogical approaches (LCA, SCA). The relationship between these variables was significant, χ 2 (1, N = 280) = 10.38, p = .001, s = 10. The results showed that the LCA resulted in a 79% success and 21% fail rate, whereas the SCA yielded a 93% success and 7% fail rate. To reinforce the previous results, a binomial logistic regression analysis was conducted. The dependent variable was final grades, while the independent variables were pedagogical approach and gender. The logistic regression model confirmed previous results, χ 2 (2, N = 280) = 10.96, p = .004, s = 8. The model explained 7% (Nagelkerke R 2 ) of the variance and correctly classified 86% of cases. Students with SCA had 3.29 times higher odds to pass than students with LCA, 95% CI [1.54, 7.04]. No differences were found for gender. Accordingly, 222 final grades were available for the WDSI course, of which 15 were excluded (e.g., intermission), resulting in a total of 207 grades. A chi-square test of independence was also performed for the WDSI course to determine the relationship between final grades (fail, pass) and pedagogical approaches (LCA, SCA). The relation between these variables was significant, χ 2 (1, N = 207) = 34.85, p = .000, s = Inf. The results revealed that the LCA contributed to an 44% success and 56% fail rate, while the SCA yielded a 83% success and 13% fail rate. In line with the previous analysis, a binomial logistic regression analysis was performed with final grades as the dependent variable, and pedagogical approach and gender as the independent variables. The logistic regression model confirmed previous results, χ 2 (2, N = 207) = 37.42, p = .000, s = Inf. The model explained 23% (Nagelkerke R 2 ) of the variance and correctly classified 64% of cases. Students with SCA had 6.72 times higher odds to pass than students with LCA, 95% CI [3.49, 12.96]. No differences were found for gender.
Finally, to address overall satisfaction with the LCA and the SCA, the means of 12 course evaluations were used, ranging from 1 (low satisfaction) to 5 (high satisfaction), see Table 5. An independent samples t-test was used, with the dependent variable being the overall means and the independent variables being the LCA and the SCA. The results showed greater satisfaction for the SCA (M = 4.22; SD = .37) compared to the LCA (M = 3.32; SD = .56), with the difference being suggestive, t(10) = 3.30, p = .008, s = 7, 95% CI [0.29, 1.51].

Discussion
The purpose of this research was to explore the differences between the learnercentered and sociocultural approaches in terms of students' explicit attitudes, outcomes (i.e., grades), and overall satisfaction (i.e., course evaluations) when teaching coding in This study has controlled some crucial factors related to the pedagogical approaches of inquiry, for instance, delivery of lectures and exercises, online learning type (asynchronous versus synchronous), recording content and availability for download/offline mode, and use of manuscripts, but not teachers' personal traits and other exogenous factors, such as different levels of emphasis on course content and teaching objectives. Due to the lack of research resources, it was decided that it would have been a too complicated task to involve the students by directly asking them of their perception on the learner-centered and sociocultural approaches. Such a study approach would have required extensive explanations of the different pedagogical concepts studied and still having the risk of including both misunderstandings and lack of interest. The students also had a tough learning situation as they were dealing with understanding and learning how to code without an extra layer of pedagogical knowledge that was not graded.
In addition, there may have been a hidden bias towards student's preparedness in either type of the two courses. However, the students were not given any prior information regarding the design of each course or the included activities. The education program was based on a three-year curriculum, and it may have been possible that first-year students could have received knowledge from second-and third-year students through different channels (e.g., Facebook, Discord) about how teaching was conducted in either course. Furthermore, course evaluations were per regulation made available to students, and these could have influenced their preparedness.
Another limitation of this study is the lack of rotation of educational approach among participating teachers. While this rotation could have strengthened the reliability of this study, it may at the same time have proven difficult to implement because of teacher's personal beliefs, educational philosophy, and teaching style. Despite the mentioned limitations, the findings of this study, measured by students' explicit attitudes, outcomes, and overall satisfaction, suggest that the sociocultural approach of Rogoff (1990Rogoff ( , 1993Rogoff ( , 1995Rogoff ( , 2003Rogoff ( , 2008 accompanied by the proposed activities in this study could serve as a more viable alternative than the learner-centered approach in the context of teaching coding in web development courses in higher education. Although the data gathered in this study suggest that there may be a need to expand teachers' repertoire beyond the learner-centered approach to include guided participation, this could prove challenging to achieve in practice due to teachers' educational philosophies, levels of knowledge in the subject, and familiarity with available tools and technologies (Biase 2018;Pears et al. 2007). Nonetheless, increasing guided participation could be achieved by focusing attention on the planning, organization, and execution of course content to enhance learning opportunities for students. Students' preferences for the sociocultural approach over the learner-centered approach may indicate a shift in the role of a teacher, whereby teaching with students is preferable to teaching to students (Biase 2018;Mascolo 2009;Rogoff 2003). If teaching is to be perceived as an interactive and sociocultural process that is jointly achieved, then pedagogical reform may be required at different levels to challenge existing routines (e.g., teacher education, school placement for teaching practice, workplace). Such a reform might offer current and prospective teachers a way to expand their repertoire of learning strategies and to dynamically make a selection based on their learning intentions.
The findings of this research corroborate previous studies that a pedagogical approach incorporating collaboration in coding activities is beneficial to students in terms of outcomes (i.e., grades) (Beck and Chizhik 2013). Such outcomes may be partly attributed to the use of web-based cloud-integrated development environments (IDEs) that allow teachers to guide students in real-time when demonstrating coding, and concurrently provide support for interactive collaboration (Bravo et al. 2013) and peer assessment (Leahy et al. 2005). Previous studies have found that such assessment can increase students' coding performance (Shui Ng 2012) and develop their critical thinking awareness (Wang et al. 2017).
Future work could build on the current research by examining whether the sociocultural approach alongside the proposed activities could produce similar results when teaching other coding languages for web development, such as Python or JavaScript. In addition, researchers should investigate whether the sociocultural approach used in this study could be adapted and applied in other subjects in higher education where coding may be involved, for example in computer science, mathematics and physics.

Conclusions
With the rise of information technology, the demand for people who can read, understand, and write code has increased. Educating tomorrow's students with appropriate coding skills has become essential to many countries' economies. Finding an appropriate pedagogical approach has practical implications to prepare students for the demands of society.
This study has compared two pedagogical approachesthe learner-centered and the socioculturalin terms of students' explicit attitudes, outcomes (i.e., grades), and overall satisfaction (i.e., course evaluations). The results of this study indicate that the sociocultural approach with the proposed activities may represent a more viable alternative than the learner-centered approach. More specifically, students indicated a preference for the sociocultural approach over the learner-centered approach, a greater number of students who passed the courses were educated via the sociocultural approach, and overall satisfaction was significantly higher for this approach as well.
These findings have a number of implications with regard to student learning and curriculum design. Guided participation, among other activities, could be applied to enhance students' learning through side-by-side joint activities. This may be especially important for students who do not have previous practical and hands-on experience in the field of web development. In curriculum design, it is necessary to consider how to take advantage of and integrate different modes of instruction with the aim of supporting as well as improving student learning. Such integration must concurrently be balanced against constraints, such as time and resources, which presents a challenge to the design of courses and to academia at large.

Appendix. Students' explicit attitudes toward the learner-centered and sociocultural approaches
The purpose of this survey is to examine students' explicit attitudes of the learnercentered and sociocultural approaches that are characterized in the following way: -The learner-centered approach involves lectures given by a teacher on a projector screen on a campus course or through Adobe Connect in an online class followed by collaborative or individual coding exercises. -The sociocultural approach involves participatory lectures given by a teacher on a projector screen on a campus course or through Adobe Connect in an online class where students are continuously encouraged to ask questions and followed by guided, hands-on, collaborative coding exercises that students do with a teacher.
The survey is estimated to take 5-10 min to complete. Participation is on a voluntarily and anonymous basis. All collected data will only be used for research purposes and will not be shared outside the scope of this research. You may at any time during survey choose to end your participation. The scale for Q4 and Q5 was: Strongly disagree (1), Somewhat disagree (2), Neither agree or disagree (3), Somewhat agree (4) and Strongly agree (5) Q4. Learning using the learner-centered approach has … 1. Improved my ability to think systematically 2. Improved my analytical ability 3. Improved my ability to think critically 4. Improved my writing ability 5. Improved my ability to explain to others what I have learned Q5. Learning using the sociocultural approach has … 1. Improved my ability to think systematically 2. Improved my analytical ability