Supporting Co-Regulation and Motivation in Learning Programming in Online Classrooms

Lahari Goswami
ACM CSCW
Published in
5 min readSep 26, 2023

--

An image depicting an online programming environment with remote peers connected to each other through the environment.

This blog post is related to the paper “Supporting Co-Regulation and Motivation in Learning Programming in Online Classrooms” by Lahari Goswami, Alexandre Senges, Thibault Estier and Mauro Cherubini. [Find our paper here]

Learning to program is a complex activity.

Imagine an online classroom of a university where students in an introductory programming course are learning to program for the first time. How do you think they learn? They probably follow teachers’ instructions, course materials, and attempt to solve programming problems. Inevitably, they may encounter difficulties in understanding certain concepts, struggle to apply them to solve programming problems, or may get stuck on errors while solving. Unless a student regulates their own metacognition and motivation during their programming learning, they are most likely to feel frustrated and lose motivation.

However, programming learning regulation in classroom setup, be it online or in-person, does not take place in isolation. It is often influenced by the dynamic social contexts driven by collaborative interactions across peers and teachers. These collaborative interactions help to facilitate synergy among peers, develop their critical thinking and abilities to code. According to contemporary education psychology, different modes of social regulation of learning unfurl in such collaborative environments to support productive learning. In these settings, one’s motivation is further characterised by the social contexts which may either afford or hinder successful programming learning regulation.

So we ask the following question,
What collaborative interventions may be devised to support social modes of regulation and facilitate intrinsic motivation for novices learning to program in online classrooms?

Our solution: Thyone

We designed and developed Thyone, a collaborative extension for Jupyter Notebooks, to support a learner’s social regulation processes and intrinsic motivation for programming in an online classroom through remote peer to peer interactions.

In the design of Thyone, we view students’ intrinsic motivation through the lens of Self Determination Theory (SDT) [Ryan & Deci. 2000]. SDT places its emphasis on people’s inherent motivational propensities for learning and growing, and posits three Basic Psychological Needs (or BPN) namely — autonomy, competence and relatedness — which when satisfied by contextual conditions, lead to intrinsically motivated actions. And, of the social modes of learning regulation, we focus on affording one of them, called co-regulation of learning [Hadwin et al. 2017]. Co-regulation facilitates learning by dynamic shifting and internalising regulatory processes through productive interpersonal interactions amongst learners.

Thyone consists of the following three salient features:

The figure shows a preview of a Jupyter Notebook with the Thyone extension open on top of it. On the left side is an exercise notebook that contains markdown cells containing problem statements, and correspodning code cells. On the right side, we first see a instance of Thyone with the “Flowchart” tab open containing  a flowchart diagram of the exercise. Next to it we see another instance of Thyone, with the “Discuss” tab open containing exchanged codes and messages with connected peer.
Flowchart: (1a) Buttons to create, connect and modify nodes and edges in flowchart. (1b) Text-box to modify node and edge labels of a flowchart. (1c) Option to share a flowchart with the paired peer. Discuss: (1d) Notification broadcasted through blinking of this tab. (1e) Paired with a random peer (anonymised). (1f ) Chat history with the peer showing shared text messages and code cells with error. (1g) Chat medium to send text messages to the paired peer.

Flowchart: The Flowchart feature that allows students to externalise their metacognition and reflect on their mental representations of a problem. It has been designed as an affordance to let students plan their actions before solving a problem and to foster self-regulation. Learners are free to abstract the given problem in any way they see fit and design and iterate on their flowcharts, and also be able to share it with peers.

Discuss: The Discuss feature functions essentially as a chat medium. It pairs a student randomly with another classmate, given they both have the Thyone extension enabled and allow them to communicate with each other.

Share Cell: Jupyter Notebook consists of code cells in which students write and execute their code. The Share Cell feature has been designed as a co-regulatory affordance to stimulate learning regulation and reduce student frustration when they are stuck on errors and seek feedback. It aims to enable peer-reviewing through accurate representation of code, output and error, thereby encouraging meaningful code and idea exchanges.

Results of using Thyone.

We conducted an exploratory quasi-experimental analysis with a first-year programming course with a large cohort strength over four months to uncover how learners engaged with the features of Thyone in their learning processes and assessed its influence on their programming motivation. Our results show that features embedded in Thyone facilitated learners’ remote co-regulation and have the potential to sustain their motivational constructs. Its use appeared to foster learners’ programming interest, autonomy, and relatedness — although an overall significant influence on intrinsic motivation was not observed.

(i) Thyone facilitates learners’ remote co-regulation. Insight into students’ behavioural patterns of socially regulating online learning using Thyone suggests that the Discuss feature afforded social exchanges, and along with sharing cells and flowcharts, it also allowed for the emergence and sustenance of learner’s co-regulatory behaviours remotely. 42% of the recorded conversations included instances of co-regulatory behaviour like mutually exchanging help about programming/lessons, asking for help/feedback and receiving it back, etc.

(ii) Engagement with Thyone’s features positively associates with users’ respective motivational constructs of interest, autonomy and relatedness. Interactions with Flowchart helped interested students further self-regulate and contributed to their programming interest. The ability to Share Cells is found to be an autonomy-supportive feature, while being able to exchange messages is a relatedness-supportive feature. Furthermore, the sharing cell behaviour along with the exploration of flowcharts indicate that the provision to regulate learning processes positively correlates with students’ interest in programming.

(iii) Although the features of Thyone positively shaped learners’ motivational constructs, an overall effect of the treatment manipulation on intrinsic motivation was not observed. A plausible explanation for not observing an impact of Thyone on overall motivation could be due to the coercive nature of the course ( for eg., it being mandatory), which possibly overshadowed the effects of Thyone usage. However, we observe that learners found support in Thyone for co-regulation, and those who did co-regulate sustained higher interest levels during the teaching period, despite the coercive nature of the course.

The future.

Through this study we highlight that pedagogies for teaching introductory programming online should not only focus on nurturing learners’ self-regulation, but also on fostering their learning regulations at social levels. Co-regulation has the potential to spawn more proficient self-regulation, as well as social regulation making it an essential process in co-learning and in co-working. Therefore, future interventions should integrate designing co-regulatory affordances to assist learnes’ social regulations in programming.

We also highlight the need to push boundaries of design for supporting intrinsic motivation in programming in coercive formal educational settings. Formal educational setups in universities are often constrained by classroom instructions, mandated evaluations, and extrinsic rewards like grades. It is impossible to tease apart these extrinsic motivators from classic educational contexts. Programming learning technologies must consider shaping learners’ extrinsic motivation to be driven towards more intrinsic forms. Interventions can incorporate multiple affordances to provide basic psychological need-supportive contexts for learners. For example, solving programming tasks is usually a mandatory activity in introductory courses. In such controlling contexts, interventions should enable learners to progress freely in their tasks and be in ownership of their problem-solving process. In line with our findings, providing opportunities to co-regulate can be an approach to support students’ autonomy during problem-solving in classrooms. We hope it paves the way for design of programming interventions that can support learners’ social regulation and motivation in constrained learning contexts.

For more details about our work’s methods, findings, and implications, please check out the full paper here, and for further questions or comments, please get in touch with the first author.

--

--

Lahari Goswami
ACM CSCW

PhD Researcher at University of Lausanne. Researching HCI + Programming + Collaborative Learning. Fine Art artist. she/her. https://laharigoswami.com/