Table of Contents
Fetching ...

Building Collaborative Learning: Exploring Social Annotation in Introductory Programming

Francisco Gomes de Oliveira Neto, Felix Dobslaw

TL;DR

The paper investigates whether social annotation through Perusall can enhance learning in an introductory Java programming course. Using an observational, non-randomized design with 112 students, it analyzes Perusall engagement (Skipped/Incomplete/Completed) and final exam results to assess correlations between participation and performance. Findings indicate that higher engagement and more completed annotations align with higher passing rates, though the study cannot establish causality due to potential confounds. The work provides actionable recommendations for implementing SA in programming education, highlights student motivation and satisfaction, and discusses limitations and avenues for future research, including scalability and cross-course comparisons.

Abstract

The increasing demand for software engineering education presents learning challenges in courses due to the diverse range of topics that require practical applications, such as programming or software design, all of which are supported by group work and interaction. Social Annotation (SA) is an approach to teaching that can enhance collaborative learning among students. In SA, both students and teachers utilize platforms like Feedback Fruits, Perusall, and Diigo to collaboratively annotate and discuss course materials. This approach encourages students to share their thoughts and answers with their peers, fostering a more interactive learning environment. We share our experience of implementing social annotation via Perusall as a preparatory tool for lectures in an introductory programming course aimed at undergraduate students in Software Engineering. We report the impact of Perusall on the examination results of 112 students. Our results show that 81% of students engaged in meaningful social annotation successfully passed the course. Notably, the proportion of students passing the exam tends to rise as they complete more Perusall assignments. In contrast, only 56% of students who did not participate in Perusall discussions managed to pass the exam. We did not enforce mandatory Perusall participation in the course. Yet, the feedback from our course evaluation questionnaire reveals that most students ranked Perusall among their favorite components of the course and that their interest in the subject has increased.

Building Collaborative Learning: Exploring Social Annotation in Introductory Programming

TL;DR

The paper investigates whether social annotation through Perusall can enhance learning in an introductory Java programming course. Using an observational, non-randomized design with 112 students, it analyzes Perusall engagement (Skipped/Incomplete/Completed) and final exam results to assess correlations between participation and performance. Findings indicate that higher engagement and more completed annotations align with higher passing rates, though the study cannot establish causality due to potential confounds. The work provides actionable recommendations for implementing SA in programming education, highlights student motivation and satisfaction, and discusses limitations and avenues for future research, including scalability and cross-course comparisons.

Abstract

The increasing demand for software engineering education presents learning challenges in courses due to the diverse range of topics that require practical applications, such as programming or software design, all of which are supported by group work and interaction. Social Annotation (SA) is an approach to teaching that can enhance collaborative learning among students. In SA, both students and teachers utilize platforms like Feedback Fruits, Perusall, and Diigo to collaboratively annotate and discuss course materials. This approach encourages students to share their thoughts and answers with their peers, fostering a more interactive learning environment. We share our experience of implementing social annotation via Perusall as a preparatory tool for lectures in an introductory programming course aimed at undergraduate students in Software Engineering. We report the impact of Perusall on the examination results of 112 students. Our results show that 81% of students engaged in meaningful social annotation successfully passed the course. Notably, the proportion of students passing the exam tends to rise as they complete more Perusall assignments. In contrast, only 56% of students who did not participate in Perusall discussions managed to pass the exam. We did not enforce mandatory Perusall participation in the course. Yet, the feedback from our course evaluation questionnaire reveals that most students ranked Perusall among their favorite components of the course and that their interest in the subject has increased.
Paper Structure (11 sections, 5 figures, 3 tables)

This paper contains 11 sections, 5 figures, 3 tables.

Figures (5)

  • Figure 1: Example of student interaction in Perusall. Three students comment on the highlighted (pink) annotation in the course material about the lecture on Functions in Java. Students help each other understand the difference between reusable code for simple tasks (functions) and structural abstractions (classes).
  • Figure 2: The overall distribution of social annotations with non-compulsory peer instruction. The dashed line intercepts the y-axis at half of the number of students (n = 56 students).
  • Figure 3: Exam points in correlation to the number of completed Perusall assignments. The dashed vertical line denotes the passing threshold (50 points).
  • Figure 4: Percentage of students per each grade based on the expected number of completed assignments from passing students (more than 2 assignments). Students who completed above the median have better grades compared to those who do not.
  • Figure 5: Course passing statistics per lecture. Completing many of the assignments (x-axis) has a large impact on passing the course, while little activity results in a high risk of failing. The "negative" y-axis is used simply to emphasise the difference between students who passed and those who failed.