Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3639474.3640071acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Introducing Computer Science Undergraduate Students to DevOps Technologies from Software Engineering Fundamentals

Published: 24 May 2024 Publication History
  • Get Citation Alerts
  • Abstract

    The fast adoption of collaborative software development by the industry allied with the demand for a short time to market has led to a dramatic change in IT roles. New practices, tools, and environments are available to support professionals in their day-to-day activities. In this context, the demand for software engineers with these skills continues to increase, specifically those related to Extreme Programming, Agile frameworks, CI/CD, and DevOps. To match Computer Science undergraduate students' skills with existing job offers, some universities have begun to include DevOps topics in their curriculums. However, due to the wide range of courses covered in Computer Science majors, it is particularly challenging to introduce DevOps within the context of Software Engineering fundamentals, i.e., connect abstract concepts to skills needed for software engineers in the industry. This paper investigates ways of introducing Computer Science students to industry-relevant practices and technologies early from two Software Engineering fundamentals courses. Student outcomes were extremely positive, providing insights into ways to introduce students to DevOps-related practices and technologies and bridge the gap between academia and industry.

    References

    [1]
    Muhammad Ovais Ahmad, Jouni Markkula, and Markku Oivo. 2013. Kanban in software development: a systematic literature review. In 2013 39th Euromicro conference on software engineering and advanced applications. IEEE, 9--16.
    [2]
    Isaque Alves and Carla Rocha. 2021. Qualifying software engineers undergraduates in devops-challenges of introducing technical and non-technical concepts in a project-oriented course. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). IEEE, 144--153.
    [3]
    Kent Beck. 1999. Embracing change with extreme programming. Computer, 32, 10, 70--77.
    [4]
    Evgeny Bobrov, Antonio Bucchiarone, Alfredo Capozucca, Nicolas Guelfi, Manuel Mazzara, and Sergey Masyagin. 2020. Teaching devops in academia and industry: reflections and vision. In Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment: Second International Workshop, DEVOPS 2019, Château de Villebrumier, France, May 6--8, 2019, Revised Selected Papers 2. Springer, 1--14.
    [5]
    Pierre Bourque, Richard E. Fairley, and IEEE Computer Society. 2014. Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0. (3rd ed.). IEEE Computer Society Press, Washington, DC, USA. isbn: 0769551661.
    [6]
    Robert Chatley and Ivan Procaccini. 2020. Threading devops practices through a university software engineering programme. In 2020 IEEE 32nd Conference on Software Engineering Education and Training (CSEE&T). IEEE, 1--5.
    [7]
    Héctor Cornide-Reyes, Fabián Riquelme, Rene Noel, Rodolfo Villarroel, Cristian Cechinel, Patricio Letelier, and Roberto Munoz. 2021. Key skills to work with agile frameworks in software engineering: chilean perspectives. IEEE Access, 9, 84724--84738.
    [8]
    Lyrene Fernandes da Silva, Julio Cesar Sampaio do Prado Leite, and Karin Koogan. 2004. Ensino de engenharia de software: relato de experiěncias. In Workshop de Educação em Informática (WEI). Salvador, Brazil, 994--1005.
    [9]
    Yuri Demchenko, Zhiming Zhao, Jayachander Surbiryala, Spiros Koulouzis, Zeshun Shi, Xiaofeng Liao, and Jelena Gordiyenko. 2019. Teaching devops and cloud based software engineering in university curricula. In 2019 15th International Conference on eScience (eScience). IEEE, 548--552.
    [10]
    Christof Ebert and Lorin Hochstein. 2022. Devops in practice. IEEE Software, 40, 1, 29--36.
    [11]
    Eric Evans and Eric J Evans. 2004. Domain-driven design: tackling complexity in the heart of software. Addison-Wesley Professional.
    [12]
    Samuel Ferino, Marcelo Fernandes, Elder Cirilo, Lucas Agnez, Bruno Batista, Uirá Kulesza, Eduardo Aranha, and Christoph Treude. 2023. Overcoming challenges in devops education through teaching methods. In Proceedings of the 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET '23). IEEE Press, Melbourne, Australia, 166--178. isbn: 9798350322590.
    [13]
    Samuel Ferino, Marcelo Fernandes, Anny Fernandes, Uirá Kulesza, Eduardo Aranha, and Christoph Treude. 2021. Analyzing devops teaching strategies: an initial study. In Proceedings of the XXXV Brazilian Symposium on Software Engineering, 180--185.
    [14]
    Marcelo Fernandes, Samuel Ferino, Uirá Kulesza, and Eduardo Aranha. 2020. Challenges and recommendations in devops education: a systematic literature review. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering, 648--657.
    [15]
    CC2020 Task Force. 2020. Computing Curricula 2020: Paradigms for Global Computing Education. Association for Computing Machinery, New York, NY, USA. isbn: 9781450390590.
    [16]
    Martin Fowler. 2018. Refactoring. Addison-Wesley Professional.
    [17]
    Vahid Garousi, Gorkem Giray, Eray Tuzun, Cagatay Catal, and Michael Felderer. 2019. Closing the gap between software engineering education and industrial needs. IEEE software, 37, 2, 68--77.
    [18]
    Ryan Gniadek, Margaret Ellis, Godmar Back, and Kirk Cameron. 2022. Integrating devops to enhance student experience in an undergraduate research project. In 2022 ASEE Annual Conference & Exposition.
    [19]
    Fergus Henderson. 2017. Software engineering at google. CoRR, abs/1702.01715. http://arxiv.org/abs/1702.01715 arXiv: 1702.01715.
    [20]
    Mark Hills. 2020. Introducing devops techniques in a software construction class. In 2020 IEEE 32nd Conference on Software Engineering Education and Training (CSEE&T). IEEE, 1--5.
    [21]
    Richard Hobeck, Ingo Weber, Len Bass, and Hasan Yasar. 2021. Teaching devops: a tale of two universities. In Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E, 26--31.
    [22]
    Rachel A Kaczka Jennings and Gerald Gannod. 2019. Devops-preparing students for professional practice. In 2019 IEEE Frontiers in Education Conference (FIE). IEEE, 1--5.
    [23]
    Association for Computing Machinery Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery, New York, NY, USA. isbn: 9781450323093.
    [24]
    Association for Computing Machinery Joint Task Force on Computing Curricula and IEEE Computer Society. 2023. Computer science curricula 2023: version gamma. Retrieved Sept. 30, 2023 from https://csed.acm.org/wp-content/uploads/2023/09/Version-Gamma.pdf.
    [25]
    Kati Kuusinen and Sofus Albertsen. 2019. Industry-academy collaboration in teaching devops and continuous delivery to software engineering students: towards improved industrial relevance in higher education. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). IEEE, 23--27.
    [26]
    Xabier Larrucea, Izaskun Santamaria, Ricardo Colomo-Palacios, and Christof Ebert. 2018. Microservices. IEEE Software, 35, 3, 96--100.
    [27]
    Cristina Videira Lopes. 2020. Exercises in programming style. Chapman and Hall/CRC.
    [28]
    Robert C Martin. 2017. Clean architecture. (2017).
    [29]
    Robert C Martin. 2009. Clean code: a handbook of agile software craftsmanship. Pearson Education.
    [30]
    Sam Newman. 2019. Monolith to microservices: evolutionary patterns to transform your monolith. O'Reilly Media.
    [31]
    Nicolás Paez and Hernán de la Fuente. 2022. Software engineering education meets devops: an experience report. In 2022 IEEE Biennial Congress of Argentina (ARGENCON). IEEE, 1--7.
    [32]
    Candy Pang, Abram Hindle, and Denilson Barbosa. 2020. Understanding devops education with grounded theory. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training, 107--118.
    [33]
    Roxana Lisette Quintanilla Portugal, Priscila Engiel, Joanna Pivatelli, and Julio Cesar Sampaio do Prado Leite. 2016. Facing the challenges of teaching requirements engineering. In Proceedings of the 38th International Conference on Software Engineering Companion (ICSE '16). Association for Computing Machinery, Austin, Texas, 461--470. isbn: 9781450342056.
    [34]
    Miloš Radenković, Snežana Popović, and Svetlana Mitrović. 2022. Project based learning for devops: school of computing experiences. In E-business technologies conference proceedings number 1. Vol. 2, 127--131.
    [35]
    Sander Rossel. 2017. Continuous Integration, Delivery, and Deployment: Reliable and faster software releases with automating builds, tests, and deployment. Packt Publishing Ltd.
    [36]
    Miguel Ángel Sánchez-Cifo, Pablo Bermejo, and Elena Navarro. 2023. Devops: is there a gap between education and industry? Journal of Software: Evolution and Process, e2534.
    [37]
    Walter Schilling. 2022. Wip: integrating modern development practices into a software engineering curriculum. In 2022 ASEE Annual Conference & Exposition.
    [38]
    Ken Schwaber and Mike Beedle. 2002. Agile software development with scrum. Series in agile software development. Vol. 1. Prentice Hall Upper Saddle River.
    [39]
    IEEE Computer Society. 2022. Swebok evolution. Retrieved Sept. 30, 2023 from https://www.computer.org/volunteering/boards-and-committees/professional-educational-activities/software-engineering-committee/swebok-evolution.
    [40]
    Titus Winters, Tom Manshreck, and Hyrum Wright. 2020. Software engineering at google: Lessons learned from programming over time. O'Reilly Media.

    Index Terms

    1. Introducing Computer Science Undergraduate Students to DevOps Technologies from Software Engineering Fundamentals

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ICSE-SEET '24: Proceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training
      April 2024
      417 pages
      ISBN:9798400704987
      DOI:10.1145/3639474
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Sponsors

      In-Cooperation

      • Faculty of Engineering of University of Porto

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 24 May 2024

      Check for updates

      Author Tags

      1. DevOps
      2. CI/CD
      3. industry
      4. academy
      5. software engineering
      6. education
      7. tools
      8. environment

      Qualifiers

      • Research-article

      Conference

      ICSE-SEET '24
      Sponsor:

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 63
        Total Downloads
      • Downloads (Last 12 months)63
      • Downloads (Last 6 weeks)7
      Reflects downloads up to 11 Aug 2024

      Other Metrics

      Citations

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media