GitHub Repository Workflows in Software Engineering Education: A Structured Review of Uses, Outcomes, and Challenges
DOI:
https://doi.org/10.5281/zenodo.19603143Keywords:
version control pedagogy, collaborative software development, repository-supported learning, pull-request feedback, classroom automation, programming education, educational technologyAbstract
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






