GitHub Repository Workflows in Software Engineering Education: A Structured Review of Uses, Outcomes, and Challenges

Authors

DOI:

https://doi.org/10.5281/zenodo.19603143

Keywords:

version control pedagogy, collaborative software development, repository-supported learning, pull-request feedback, classroom automation, programming education, educational technology

Abstract

This structured review examines how GitHub is used in software engineering and programming education and what comparisons can be made with related classroom workflows and platforms. The review used source-by-source searching, staged screening, common extraction fields, source-role weighting, light appraisal, and narrative thematic synthesis. Searches were updated in March 2026 across major academic databases, ERIC, CEUR Workshop Proceedings, GALA, and openly accessible institutional or author-posted sources. Preliminary screening identified 127 candidate records. After staged screening, 58 accessible full texts were assessed, and 44 sources were retained: 38 substantive review sources and 6 method-guidance sources. The literature shows that GitHub is commonly used for assignment delivery, team projects, code review, feedback, autograding, and portfolio development, often supporting both individual learning and teamwork in realistic development environments. Reported benefits include better process visibility, clearer feedback placement, enhanced support for collaboration, and stronger workflow learning that integrates social coding, traceable contributions, and structured peer interaction. Common difficulties include the Git learning curve, setup burden, uneven student readiness, and the weak use of activity counts as direct evidence of learning. Comparative conclusions are clearest against basic file-submission workflows, emphasizing GitHub’s role in organizing course materials and feedback, and more cautious for GitLab and Bitbucket because direct classroom comparisons remain limited and context-dependent. Overall, GitHub appears most useful when it is introduced with clear guidance, aligned with course objectives, and supported with guidance for onboarding, workflow management, and assessment interpretation. This review contributes to educational technology research by synthesizing multi-source evidence, clarifying both the pedagogical potential and adoption constraints of repository-supported learning, and providing instructors with a detailed understanding of how platform features, classroom practices, and learning outcomes intersect in software engineering education.

References

Adam, E. (2024). An Investigation Into the Perceived Effectiveness of GitHub Repositories to Teach Programming. International Conference on Education Research, 1(1), 1–9. https://doi.org/10.34190/icer.1.1.2774

Alimboyong, C. R., & Bucjan, M. E. (2021). Cloud computing adoption among state universities and colleges in the Philippines: Issues and challenges. International Journal of Evaluation and Research in Education, 10(4), 1455–1461. https://doi.org/10.11591/ijere.v10i4.21526

Beckman, M. D., Çetinkaya-Rundel, M., Horton, N. J., Rundel, C. W., Sullivan, A. J., & Tackett, M. (2021). Implementing version control with Git and GitHub as a learning objective in statistics and data science courses. Journal of Statistics and Data Science Education, 29(S1), S132–S144. https://doi.org/10.1080/10691898.2020.1848485

Bennedsen, J., Böjttjer, T., & Tola, D. (2022). Using GitHub Classroom in Teaching Programming. In Proceedings of the 18th International CDIO Conference (pp. 690–702). https://www.cdio.org/knowledge-library/documents/using-github-classroom-teaching-programming

Blair, S. (2026). GitHub Classroom: Student Attainment, Feedback, Feedforward and Industrial Practice. Compass: Journal of Learning and Teaching in Higher Education, 18(2). https://doi.org/10.21100/compass.v18i2.1648

Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., & Khalil, M. (2007). Lessons from applying the systematic literature review process within the software engineering domain. Journal of Systems and Software, 80(4), 571–583. https://doi.org/10.1016/j.jss.2006.07.009

Bringula, R. P., Geronimo, S., & Aviles, A. (2020). Programming project in an undergraduate software engineering in the new normal: Challenges and proposed solutions. In SEED/NLPaSE@APSEC 2020 (pp. 29–37). https://ceur-ws.org/Vol-2799/Paper4_SEED.pdf

Calatrava Arroyo, A., Ramos Montes, M., & Segrelles Quilis, J. D. (2021). A Pilot Experience with Software Programming Environments as a Service for Teaching Activities. Applied Sciences, 11(1), 341. https://doi.org/10.3390/app11010341

Canale, L., Cagliero, L., Farinetti, L., & Torchiano, M. (2024). On Predicting Exam Performance Using Version Control Systems' Features. Computers, 13(6), 150. https://doi.org/10.3390/computers13060150

Clifton, C., Kaczmarczyk, L. C., & Mrozek, M. (2007). Subverting the fundamentals sequence: Using version control to enhance course management. SIGCSE Bulletin, 39(1), 86–90. https://doi.org/10.1145/1227310.1227344

Cochez, M., Isomöttönen, V., Tirronen, V., & Itkonen, J. (2013). How do computer science students use distributed version control systems? In ICTERI 2013 revised selected papers (pp. 210–228). https://doi.org/10.1007/978-3-319-03998-5_11

Cortés Ríos, J. C., Kopec-Harding, K., Eraslan, S., Page, C., Haines, R., Jay, C., & Embury, S. M. (2019). A Methodology for Using GitLab for Software Engineering Learning Analytics. In Proceedings of the 12th International Workshop on Cooperative and Human Aspects of Software Engineering (pp. 3–6). https://doi.org/10.1109/CHASE.2019.00009

Dabbish, L., Stuart, C., Tsay, J., & Herbsleb, J. (2012). Social coding in GitHub: Transparency and collaboration in an open software repository. Proceedings of CSCW 2012. https://doi.org/10.1145/2145204.2145396

Eraslan, S., Cortés Ríos, J. C., Kopec-Harding, K., Embury, S. M., Jay, C., Page, C., & Haines, R. (2020). Errors and Poor Practices of Software Engineering Students in Using Git. In Proceedings of the 4th Conference on Computing Education Practice (pp. 1–4). https://doi.org/10.1145/3372356.3372364

Eraslan, S., Kopec-Harding, K., Jay, C., Embury, S. M., Haines, R., Cortés Ríos, J. C., & Crowther, P. (2020). Integrating GitLab Metrics into Coursework Consultation Sessions in a Software Engineering Course. Journal of Systems and Software, 167, 110613. https://doi.org/10.1016/j.jss.2020.110613

Feliciano, J., Storey, M.-A. D., & Zagalsky, A. (2016). Student experiences using GitHub in software engineering courses: A case study. Proceedings of ICSE Companion 2016. https://doi.org/10.1145/2889160.2889195

Fernandez, J. R. E., Santillan, C. G., & Puntos, L. L. (2025). GitHub feature use and programming skill development among BSICT students. International Journal of Advanced Research in Science, Communication and Technology, 5(9), 422–432. https://doi.org/10.48175/IJARSCT-28254

Glassy, L. (2006). Using version control to observe student software development processes. Journal of Computing Sciences in Colleges, 21(3), 99–106. https://dl.acm.org/doi/10.5555/1089182.1089195

Guerrero-Higueras, Á. M., Fernández Llamas, C., Sánchez González, L., Gutiérrez Fernández, A., Esteban Costales, G., & Conde González, M. Á. (2020). Academic success assessment through version control systems. Applied Sciences, 10(4), 1492. https://doi.org/10.3390/app10041492

Haaranen, L., & Lehtinen, T. (2015). Teaching Git on the side: Version control system as a course platform. Proceedings of ITiCSE 2015. https://doi.org/10.1145/2729094.2742608

Hata, H., Novielli, N., Baltes, S., Kula, R. G., & Treude, C. (2022). GitHub Discussions: An exploratory study of early adoption. Empirical Software Engineering, 27, 3. https://doi.org/10.1007/s10664-021-10058-6

Hecht, R., Liu, R., Zenke, C., & Malan, D. J. (2023). Distributing, Collecting, and Autograding Assignments with GitHub Classroom. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2 (p. 1179). https://doi.org/10.1145/3545947.3569627

Heckman, S., & King, J. (2018). Developing Software Engineering Skills Using Real Tools for Automated Grading. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 794–799). https://doi.org/10.1145/3159450.3159595

Hsing, C., & Gennarelli, V. (2019). Using GitHub in the classroom predicts student learning outcomes and classroom experiences: Findings from a survey of students and teachers. Proceedings of SIGCSE 2019. https://doi.org/10.1145/3287324.3287460

Kitchenham, B. (2004). Procedures for performing systematic reviews. Keele University Technical Report TR/SE-0401. https://www.inf.ufsc.br/~aldo.vw/kitchenham.pdf

Kitchenham, B., & Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering (EBSE Technical Report EBSE-2007-01). https://legacyfileshare.elsevier.com/promis_misc/525444systematicreviewsguide.pdf

Lawrance, J., Jung, S., & Wiseman, C. (2013). Git on the cloud in the classroom. Proceedings of SIGCSE 2013. https://doi.org/10.1145/2445196.2445386

Milentijevic, I., Ciric, V., & Vojinovic, O. (2008). Version control in project-based learning. Computers & Education, 50(4), 1331–1338. https://doi.org/10.1016/j.compedu.2006.12.010

Olipas, C. N. P. (2022). A phenomenological study on the feelings, challenges and difficulties experienced by information technology students in learning computer programming. Path of Science, 8(7), 2001–2007. https://doi.org/10.22178/pos.83-3

Olipas, C. N. P., Leona, R. F., Villegas, A. C. A., Cunanan, A. I., Jr., & Javate, C. L. P. (2021). The academic performance and the computer programming anxiety of BSIT students: A basis for instructional strategy improvement. International Journal of Advanced Engineering, Management and Science, 7(6), 125–129. https://doi.org/10.22161/ijaems.76.15

Patani, P., Tiwari, S., & Rathore, S. S. (2024). The impact of GitHub on students’ learning and engagement in a software engineering course. Computer Applications in Engineering Education. https://doi.org/10.1002/cae.22775

Petersen, K., Vakkalanka, S., & Kuzniarz, L. (2015). Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology, 64, 1–18. https://doi.org/10.1016/j.infsof.2015.03.007

Santos, I., Felizardo, K. R., Sarma, A., Steinmacher, I., & Gerosa, M. A. (2025). OSSDoorway: A Gamified Environment to Scaffold Student Contributions to Open Source Software. In Proceedings of CSEE&T 2025 (pp. 325–335). https://doi.org/10.1109/CSEET66350.2025.00037

Schauer, L., Stewart, R. J., & Maarek, M. (2024). Integrating Canvas and GitLab to Enrich Learning Processes. In Proceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training (pp. 180–190). https://doi.org/10.1145/3639474.3640056

Snowberger, A. D., & Lee, C. H. (2023). A workflow for practical programming class management using GitHub Pages and GitHub Classroom. Journal of Practical Engineering Education, 15(2), 331–339. https://doi.org/10.14702/JPEE.2023.331

Snyder, H. (2019). Literature review as a research methodology: An overview and guidelines. Journal of Business Research, 104, 333–339. https://doi.org/10.1016/j.jbusres.2019.07.039

Tu, Y.-C., Terragni, V., Tempero, E., Shakil, A., Meads, A., Giacaman, N., Fowler, A., & Blincoe, K. (2022). GitHub in the classroom: Lessons learnt. Australasian Computing Education Conference. https://doi.org/10.1145/3511861.3511879

Tushev, M., Williams, G., & Mahmoud, A. (2020). Using GitHub in large software engineering classes: An exploratory case study. Computer Science Education, 30(2), 155–186. https://doi.org/10.1080/08993408.2019.1696168

Wagner, G., & Thurner, L. (2025). Teaching tip: Rethinking how we teach Git: Pedagogical recommendations and practical strategies for the information systems curriculum. Journal of Information Systems Education, 36(1), 1–12. https://doi.org/10.62273/BTKM5634

Webster, J., & Watson, R. T. (2002). Analyzing the past to prepare for the future: Writing a literature review. MIS Quarterly, 26(2), xiii–xxiii. https://aisel.aisnet.org/misq/vol26/iss2/3/

Wessel, M., Vargovich, J., Gerosa, M. A., & Treude, C. (2023). GitHub Actions: The impact on the pull request process. Empirical Software Engineering, 28, 131. https://doi.org/10.1007/s10664-023-10369-w

World Bank. (2022). Digital transformation of Philippine higher education. World Bank. https://documents1.worldbank.org/curated/en/099925001062333685/pdf/P17757402843a10c90b3e30308406a38304.pdf

Yu, Y., Wang, H., Yin, G., & Wang, T. (2016). Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment? Information and Software Technology, 74, 204–218. https://doi.org/10.1016/j.infsof.2016.01.004

Zagalsky, A., Feliciano, J., Storey, M.-A. D., Zhao, Y., & Wang, W. (2015). The emergence of GitHub as a collaborative platform for education. Proceedings of CSCW 2015. https://doi.org/10.1145/2675133.2675284

Downloads

Published

2026-04-16

How to Cite

GitHub Repository Workflows in Software Engineering Education: A Structured Review of Uses, Outcomes, and Challenges. (2026). The International Review of Multidisciplinary Research, 1(4). https://doi.org/10.5281/zenodo.19603143

Similar Articles

1-10 of 93

You may also start an advanced similarity search for this article.