ANALYZING GIT LOG IN AN CODE-QUALITY AWARE AUTOMATED PROGRAMMING ASSESSMENT SYSTEM: A CASE STUDY

Main Article Content

Bao-An Nguyen
Thuy-Vi Thi Ha
Hsi-Min Chen

Abstract

Automated programming assessment systems have transformed the evaluation of programming assignments, providing detailed feedback and reducing instructors' workload. This paper explores the benefits of Git log analysis in ProgEdu, a code-quality aware automated programming assessment system. ProgEdu was utilized for assessing Java homework assignments and web programming projects over two semesters. The integration of Git log analysis in ProgEdu highlights its potential in tracking student progress, predicting performance, determining student groups based on submission behaviors, identifying inequality in group projects, and facilitating instructors' intervention. The study emphasizes the importance of enhancing software industrial practices in programming courses, including code version control, static code quality checking, unit testing, and automation tools. By incorporating these practices, students benefit from hands-on learning and situated learning experiences. Embracing these practices enhances the learning experience, improves student performance, and fosters a collaborative programming environment. It highlights the benefits for students and instructors, urging institutions to invest in software industrial practices and demonstrating the potential impact on programming education.

Downloads

Download data is not yet available.

Article Details

How to Cite
1.
Nguyen B-A, Ha T-V, Chen H-M. ANALYZING GIT LOG IN AN CODE-QUALITY AWARE AUTOMATED PROGRAMMING ASSESSMENT SYSTEM: A CASE STUDY. journal [Internet]. 29Sep.2023 [cited 16May2024];13(3). Available from: https://journal.tvu.edu.vn/index.php/journal/article/view/2430
Section
Articles

References

[1] Alemán JLF. Automated assessment in a
programming tools course. IEEE Transactions
on Education. 2011;54(4): 576-581. DOI:
10.1109/TE.2010.2098442.
[2] López-Pernas S, Saqr M, Viberg O. Putting it all
together: Combining learning analytics methods and
data sources to understand students’ approaches to
learning programming. Sustainability. 2021;13(9):
4825. https://doi.org/10.3390/su13094825.
[3] Cheng LC, Li W, Tseng JC. Effects of an automated programming assessment system on the learning performances of experienced and novice learners. Interactive Learning Environments. 2021: 1–17.
https://doi.org/10.1080/10494820.2021.2006237.
[4] Mekterovic I, Brki ´ c L, Mila ´ sinovi ˇ c B, ´
Baranovic M. Building a Comprehensive ´
Automated Programming Assessment
System. IEEE Access. 2020;8: 81154–81172.
https://doi.org/10.1109/ACCESS.2020.2990980.
[5] Chen HM, Nguyen BA, Yan YX, Dow CR. Analysis of learning behavior in an automated programming assessment environment: A code quality
perspective. IEEE Access. 2020;8: 167341–167354.
https://doi.org/10.1109/access.2020.3024102.
[6] Karavirta V, Korhonen A, Malmi L. On the use
of resubmissions in automatic assessment systems.
Computer Science Education. 2006;16(3): 229–240.
https://doi.org/10.1080/08993400600912426.
[7] Rico-Juan JR, Sánchez-Cartagena VM, Valero-Mas
JJ, Gallego AJ. Identifying student profiles within online judge systems using explainable artificial intelligence. IEEE Transactions on Learning Technologies.
2023: 1–14. https://doi.org/10.1109/tlt.2023.3239110.
[8] Nguyen BA, Chen HM, Dow CR. Identifying
nonconformities in contributions to programming
projects: from an engagement perspective
in improving code quality. Behaviour &
Information Technology. 2023;42(1): 141–157.
https://doi.org/10.1080/0144929X.2021.2017483.
[9] Pereira FD, Oliveira EH, Oliveira DB, Cristea AI,
Carvalho LS, Fonseca SC, et al. Using learning
analytics in the Amazonas: Understanding students’
behaviour in introductory programming. British Journal of Educational Technology. 2020;51(4): 955–972.
https://doi.org/10.1111/bjet.12953.
[10] Chen HM, Chen WH, Lee CC. An automated
assessment system for analysis of coding
convention violations in Java programming
assignments. Journal of Information Science
and Engineering. 2018;34(5): 1203–1221.
https://doi.org/10.6688/JISE.201809_34(5).0006.
[11] Kelleher J. Employing git in the classroom.
In: Proceedings of 2014 World Congress
on Computer Applications and Information
Systems (WCCAIS), 17-19 January 2014,
Hammamet, Tunisia. TX, USA: IEEE; 2014. p.1–4.
https://doi.org/10.1109/WCCAIS.2014.6916568.
[12] Gitinabard N, Okoilu R, Xu Y, Heckman S, Barnes
T, Lynch C. Student Teamwork on Programming
Projects: What can GitHub logs show us ?. To be published in EDM 2020. arXiv. [Preprint]. 2020.
https://doi.org/10.48550/arXiv.2008.11262.
[13] Beckman MD, C¸ etinkaya-Rundel M, Horton NJ, Rundel CW, Sullivan AJ, Tackett M. Implementing version control with git and github as a learning objective
in statistics and data science courses. Journal of
Statistics and Data Science Education. 2021;29: 132–
144. https://doi.org/101080/1069189820201848485.
[14] Haaranen L, Lehtinen T. Teaching git on the side
- Version control system as a course platform. In:
ITiCSE ’15: Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education. New York, USA: Association for Computing Machinery; 2015. p.87–92.
https://doi.org/10.1145/2729094.2742608.
[15] Zagalsky A, Feliciano J, Storey MA, Zhao Y, Wang,
W. The emergence of github as a collaborative platform for education. CSCW ’15: Proceedings of the
18th ACM Conference on Computer Supported Cooperative Work & Social Computing. New York, USA:
Association for Computing Machinery; 2015. p.1906–
1917. https://doi.org/10.1145/2675133.2675284.
[16] Neyem A, Benedetto JI, Chacon AF. Improving software engineering education through an
empirical approach: lessons learned from capstone teaching experiences. In: Proceedings of
the 45th ACM technical symposium on Computer science education. New York, USA: Association for Computing Machinery; 2014. p.391–396.
https://doi.org/10.1145/2538862.2538920.
[17] Gary KA, Xavier S. Agile learning through continuous assessment. In: Proceedings of IEEE Frontiers in
Education Conference (FIE). TX, USA: IEEE; 2015.
p. 1–4. https://doi.org/10.1109/fie.2015.7344278.
[18] Raibulet C, Fontana FA. Collaborative and teamwork
software development in an undergraduate
software engineering course. Journal of
Systems and Software. 2018;144: 409–422.
https://doi.org/10.1016/j.jss.2018.07.010.
[19] Eraslan S, Kopec-Harding K, Jay C, Embury
SM, Haines R, Ríos JCC, Crowther P. Integrating GitLab metrics into coursework consultation
sessions in a software engineering course. Journal of Systems and Software. 2020;167: 110613.
https://doi.org/10.1016/j.jss.2020.110613.