Building the Foundation: The Benefits of Early Software Engineering Education

4 Jul 2024


(1) Joseph Latessa, Department of Computer Science Wayne State University, Detroit MI USA (;

(2) Aadi Huria, Senior, Salem High School Canton, MI USA (;

(3) Deepak Raju, Senior, Salem High School, Canton MI USA (

Abstract and Introduction

Related Work

Project Prerequisites

Project Implementation

Insight and Reflections

Conclusions, Acknowledgement and References


For motivated independent study students, learning software engineering concepts such as version control and continuous integration will benefit them in their future studies. As demonstrated here, this content is accessible to students even at an early point in their computer science education. A special honors project or a supplemental one-credit-hour tools and techniques course taken as a corequisite to the traditional introduction to programming track could be a next step to further develop, scale, and generalize the material and unique format devised and embarked upon for this project.


We would like to acknowledge Loren Schwiebert at Wayne State University for his assistance, feedback, and advice throughout the development and implementation of this project. We would also like to acknowledge the JETSCAPE Collaboration [1] and GOMC [2] for providing the source repositories and applications on which our automated tests were developed. We also acknowledge LinkChecker [12], GitHub Actions HTML5 Validator [10], and svenkreiss/html5validator [11] as the marketplace and opensource utilities discussed and applied as part of this project.


[1] JETSCAPE Website:

[2] GOMC - GPU-Optimized Monte Carlo Website:

[3] Chib, Siddhartha, and Edward Greenberg. “Understanding the MetropolisHastings Algorithm.” The American Statistician, vol. 49, no. 4, 1995, pp. 327– 35. JSTOR, Accessed 17 Aug. 2023.

[4] Richard Glassey. 2019. Adopting Git/Github within Teaching: A Survey of Tool Support. In Proceedings of the ACM Conference on Global Computing Education (CompEd '19). Association for Computing Machinery, New York, NY, USA, 143–149.

[5] Yu-Cheng Tu, Valerio Terragni, Ewan Tempero, Asma Shakil, Andrew Meads, Nasser Giacaman, Allan Fowler, and Kelly Blincoe. 2022. GitHub in the Classroom: Lessons Learnt. In Proceedings of the 24th Australasian Computing Education Conference (ACE '22). Association for Computing Machinery, New York, NY, USA, 163–172.

[6] Lassi Haaranen and Teemu Lehtinen. 2015. Teaching Git on the Side: Version Control System as a Course Platform. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '15). Association for Computing Machinery, New York, NY, USA, 87–92.

[7] David S. Janzen and Hossein Saiedian. 2006. Test-driven learning: intrinsic integration of testing into the CS/SE curriculum. SIGCSE Bull. 38, 1 (March 2006), 254–258.

[8] B. P. Eddy et al., "A Pilot Study on Introducing Continuous Integration and Delivery into Undergraduate Software Engineering Courses," 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T), Savannah, GA, USA, 2017, pp. 47-56, doi: 10.1109/CSEET.2017.18.

[9] Alex Radermacher and Gursimran Walia. 2013. Gaps between industry expectations and the abilities of graduates. In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE '13). Association for Computing Machinery, New York, NY, USA, 525–530.

[10] HTML5 Validator - GitHub Marketplace:

[11] GitHub - svenkreiss/html5validator: Command line tool to validate HTML5 files. Great for continuous integration.: 2022.

[12] LinkChecker: 2022.

This paper is available on arxiv under CC BY-NC-ND 4.0 DEED license.