Table of Contents
Fetching ...

Automated Assessment in Mobile Programming Courses: Leveraging GitHub Classroom and Flutter for Enhanced Student Outcomes

Pedro Alves, Bruno Pereira Cipriano

TL;DR

Mobile programming courses face unique testing and assessment challenges due to graphical UI and emulation needs. The authors propose an auto-grading pipeline that leverages Flutter's test automation, GitHub Classroom for distribution, and GitHub Actions for CI/CD. They validate the approach with a course experiment and a student survey, reporting positive reception and feasible workflow alongside identified limitations in feedback granularity and quota management. The work demonstrates a scalable, cost-effective method for automated assessment in mobile education and suggests practical steps toward broader adoption of CI-driven evaluation.

Abstract

The growing demand for skilled mobile developers has made mobile programming courses an essential component of computer science curricula. However, these courses face unique challenges due to the complexity of mobile development environments and the graphical, interactive nature of mobile applications. This paper explores the potential of using GitHub Classroom, combined with the Flutter framework, for the automated assessment of mobile programming assignments. By leveraging GitHub Actions for continuous integration and Flutter's robust support for test automation, the proposed approach enables an auto-grading cost-effective solution. We evaluate the feasibility of integrating these tools through an experiment in a Mobile Programming course and present findings from a student survey that assesses their perceptions of the proposed evaluation model. The results are encouraging, showing that the approach is well-received by students.

Automated Assessment in Mobile Programming Courses: Leveraging GitHub Classroom and Flutter for Enhanced Student Outcomes

TL;DR

Mobile programming courses face unique testing and assessment challenges due to graphical UI and emulation needs. The authors propose an auto-grading pipeline that leverages Flutter's test automation, GitHub Classroom for distribution, and GitHub Actions for CI/CD. They validate the approach with a course experiment and a student survey, reporting positive reception and feasible workflow alongside identified limitations in feedback granularity and quota management. The work demonstrates a scalable, cost-effective method for automated assessment in mobile education and suggests practical steps toward broader adoption of CI-driven evaluation.

Abstract

The growing demand for skilled mobile developers has made mobile programming courses an essential component of computer science curricula. However, these courses face unique challenges due to the complexity of mobile development environments and the graphical, interactive nature of mobile applications. This paper explores the potential of using GitHub Classroom, combined with the Flutter framework, for the automated assessment of mobile programming assignments. By leveraging GitHub Actions for continuous integration and Flutter's robust support for test automation, the proposed approach enables an auto-grading cost-effective solution. We evaluate the feasibility of integrating these tools through an experiment in a Mobile Programming course and present findings from a student survey that assesses their perceptions of the proposed evaluation model. The results are encouraging, showing that the approach is well-received by students.

Paper Structure

This paper contains 24 sections, 6 figures, 2 tables.

Figures (6)

  • Figure 1: GitHub Classroom Architecture
  • Figure 2: Partial view of the assignment dashboard
  • Figure 3: Example of the report produced by the Autograding Grading Reporter, combining the result of 4 different jobs.
  • Figure 4: The "awesome quotes" application that the students were expected to implement. The screen on the left shows a random quote and the possibility to like it or generate another one. The likes quotes show up in the favorites screen, shown on the right.
  • Figure 5: The "Awesome Quotes" initial project structure. Most of the source code was incomplete, serving only as placeholders for the students to fill in. Test files and pubspec.yaml were complete and should not be edited by the student.
  • ...and 1 more figures