🤖 AI Summary
Mobile programming courses suffer from low efficiency and poor consistency in manual assignment assessment due to complex development environments and the graphical, highly interactive nature of student applications. To address this, we propose an automated assessment system integrating GitHub Classroom with Flutter, the first to deeply combine GitHub Actions–based CI/CD with Flutter end-to-end testing for lightweight, repeatable evaluation of GUIs and user interaction behaviors. The system incorporates Dart unit and integration tests, configurable CI/CD pipelines, and a standardized feedback mechanism. Evaluated in real classroom settings, it reduced instructor grading effort by 62%, shortened average feedback turnaround to under two hours, and significantly improved students’ coding quality and satisfaction. Our core contribution is an open-source, reusable automated grading framework specifically designed for mobile development education.
📝 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.