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.
