Next Article in Journal
Fuzzy Logic-Based Adaptive Droop Control Designed with Feasible Range of Droop Coefficients for Enhanced Power Delivery in Microgrids
Previous Article in Journal
Aircraft Level Thermal Management Analysis for Early Design Stages of Future Aircraft: Integration of Systems and Compartments into an Interacting Generic Approach
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Proceeding Paper

Applying Artificial Intelligence in Software Development Education †

School of Electrical Engineering and Computer Science, University of North Dakota, Grand Forks, ND 58202, USA
*
Author to whom correspondence should be addressed.
Presented at the 2024 IEEE 6th Eurasia Conference on IoT, Communication and Engineering, Yunlin, Taiwan, 15–17 November 2024.
Eng. Proc. 2025, 92(1), 26; https://doi.org/10.3390/engproc2025092026
Published: 28 April 2025
(This article belongs to the Proceedings of 2024 IEEE 6th Eurasia Conference on IoT, Communication and Engineering)

Abstract

Artificial intelligence (AI) is applied at a pace that challenges the verification of its suitability to the domains of application. This situation arises from the proliferation of AI development being conducted from a data science point of view rather than a software engineering approach. The situation leads to the question of whether software development course curricula are addressing the necessary educational needs for graduates to respond to the challenges of applying AI development in emerging domains. The challenge has two parts: the first is the use of AI in developing software systems, and the second is the development of AI systems. By looking at the first part of this challenge, we propose a pedagogy for introducing AI tools in software engineering education and structuring a methodology for AI application development to establish software engineering principles. This article is exploratory. We reviewed the existing literature to identify the commonalities of approaches to select a required set of topics, course outcomes, and structure for a curriculum on AI in software development.

1. Introduction

The advent of artificial intelligence (AI) [1] in major fields has demonstrated successful and failed applications. The failures have been associated with biases in the data-training phase of the AI system development, incorrect application of AI, and poorly designed systems. A major concern of the expanding development and application of AI software systems is the knowledge and training of the developers of these systems.
In this study, we propose a methodology for addressing the pedagogical preparation of students at the tertiary level of education, for students who will be entering the workforce. The terms software engineering (SE) and software development (SD), and their acronyms are used interchangeably in this article.
Two aspects of software engineering pedagogy are addressed in this article for undergraduate and graduate education. Students are introduced to AI tools as an aid in software development. Rather than viewing AI tools as a challenge in academia, software development tools and support are explained in integrated development environments (IDE), such as MS Visual Studio 2022, Eclipse 2025-03, GitHub 3.16, etc. The implicit intent is for students to view AI tools as aids, rather than instruments of cheating. The second aspect is to leverage the benefits of AI tools in bridging the gap that exists in classroom software engineering projects and real-world industrial tasks. This is implicitly derived from available AI tools used in industry, rather than in the classrooms. Thus, challenging (industry-level) projects can be attempted in a semester of learning, by exploiting the benefits of available industrial-quality AI tools.

2. Related Works

Lu et al. present their work as “a Roadmap on Software Engineering for Responsible AI” to propose a set of principles for AI development, across the perspectives of “Governance”, “Process”, and “System” [2]. They compartmentalize their perspective of governance into three areas, namely industrial, organizational, and team. The process is defined as software engineering best practices, and the system perspective is classified into architectural style and patterns and system-level techniques.
From the governance perspective, the established regulations and ethical principles are reviewed for responsible AI software development at the identified levels [2]. A set of software methods and best practices are incorporated into AI software development [2]. From the system perspective, a set of architectural and design patterns are outlined to explain AI software development; these include the co-architecture of AI components and non-AI components [2].
The result of Lu et al. [2] applies to the industrial realms as an operationally responsible AI development strategy. It does not have any specificity for academia or training, but the principles outlined in this roadmap have applicability to academia. The detailed topics of team-level perspective are incorporated in this proposed “Applying AI in Software Development Education” [2]. The specific team-level topics are applicable in tertiary pedagogy as conformance to standard processes such as AI and non-AI development, continuous documentation, open processes, automated processes by using tools, and model-based process assessment [2].
The article “Computing Education in the Era of Generative AI” [3] presents a comparative look at AI-produced work versus that of students. The researchers looked at the class of AI applications known as large language models (LLM) [4], which are characterized by their application to diverse domains. Denny et al. [4] examined the performance of students on two examinations, against that of GitHub 3.16 CoPilot 365 and OpenAI GPT-4. They also examined the Python 3.11 code generated by AlphaCode 2 [3].
Denny et al. [3] indicated that the current state of AI in education is not a panacea. Their work demonstrates that students can outperform the identified AI tools, which suggests that substituting AI tools for individual work is not a solution for improved performance. The associated ethical principles are an implicit component of the presented pedagogy methodology developed [3].
Grant [5] addresses the proliferation of education software engineering publications that offers a varying combination of topics but lack a holistic approach to teaching the relationships of the topics. Grant points out that the research is not intended to be another publication on SE but an attempt to address the “perceived deficiencies in existing works of this kind” [5].
After reviewing a set of seminal textbooks on SE, a model-driven methodology that incorporates the software development life cycle (SDLC) of requirements engineering, high-level design, low-level design, and detail design is presented. Each phase of Grant’s methodology is presented as a package of UML [6] models that exhibit stereotype intra (within phase) and inter (across phases) associations. A key feature of this methodology is the definition of relationships of “input”, “output”, “define”, “refine”, and “transform” to specify the types of associations. In this study, the methodology in Ref. [5] is elaborated to address the input to and output, i.e., the SDLC phases of requirements elicitation, and system testing, which are not explicitly addressed in [5].
The remainder of this report is as follows. Section 3 presents a rationale/motivation for this work, which is followed by the proposed methodology. The rest sections explain the assessment of the proposed methodology and conclude the study.

3. Research Motivation

3.1. Growth of AI in SD

AI tools are destined to become a stable artifact of software development, and there has been an attempt to chart a roadmap for its use in software development and to manage that usage through ethics and regulations at various levels [2]. While Lu et al. explored AI adaptation in industrial settings, the proposed research in this study leverages benefits from this industrial roadmap in the academic environment.
The introduction of AI in SD is challenging when AI provides complete answers to questions/problems. This suggests a reliance on AI that may not be mature enough. Therefore, the use of AI in SD must be managed and verified. The software developers of the next generation will be using AI in software development, specifically in the safety-critical domain. Therefore, they have to be trained for the right use of AI.

3.2. Ethics of AI in SD

The international medical profession is guided by a set of ethical principles, known as ‘The Oath of Hippocrates’, which dates back to around 400 BC [6]. A basis for the perseverance of these ethical principles is that medical personnel’s actions can result in harm or death to their patients, and for the profession to prevail, patients must trust their medical providers. In a similar manner, the software developer must foster trust for the products developed. Unlike other professions, the products of SD are not visible. Hence, the user has to trust the products. This suggests that software developers must abide by ethical principles such as “Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest” [7]. With the advent of AI, there is even a great need for the adherence to ethical principles.

3.3. AI Education in SD

Universities offer AI courses at the graduate and undergraduate levels and demand the related programs of data science, data analytics, and machine learning for graduates. The US Government Bureau of Labor Statistics projects a 35% growth in demand for data scientists in 2022–2032 [7]. Scientists and statisticians rely on software and trust that the tools are developed with the greatest integrity by software developers who have the requisite skill sets and are guided by their professional ethics.
We established a curricular model to introduce the use of AI tools in SD courses, specifically project-based courses. Such AI tools help students comprehend activities related to the SDLC and carry out complex course projects. This leads graduates to deliver a higher level of productivity from the start of their employment.

4. Methodology

We defined a framework for students to understand the technical and ethical benefits of using AI tools in SDLC for reliable and correctly developed software products.

4.1. Research Framework

Grant [5] presents a UML diagram for a SDLC framework that forms the nucleus of the proposed research as shown in Figure 1.
Figure 1 does not present specific requirements for elicitation or unit and system testing. SE textbooks do not provide a roadmap for structuring activities, inputs, and outputs of the phases of the SDLC [5]. We add the layers to the framework of Figure 1 for requirement engineering and unit/system testing.

4.2. AI for Requirement Engineering/Elicitation

The reason systems have failed to offer the desired functionalities and features and operate in a safe or correct manner is that software developers do not correctly understand the requirements of the system. This usually stems from incomplete and/or misunderstood system requirements. Even with complete requirement specifications, developers might misunderstand the statements because of the ambiguity of written language.
The application of AI is successful for natural language processing. Denny et al. examined the performance of AI applications in solving programming assignments. By taking in a textual description of the programming assignments and generating a computer program, a solution to the assignment is found. LLM [4] is widely used in general domains. LLMs are used to solve a myriad of problems because they learn statistical relationships in text documents in a computationally intensive deep-learning process.

4.2.1. LLM

LLMs are AI applications, pre-trained on large diverse datasets and are applied in processing natural language problems and situations [8]. While there have been successful uses of LLMs in various applications, the outputs are challenging due to incorrect outputs and difficulties in the training phases of usages. Shirui et al. [9] list the pros and cons of LLMs. The advantages are as follows: (1) general knowledge of problems, (2) excellent performance in understanding natural language, and (3) generalizability of results [9]. Its disadvantages include the following: (1) it is not possible to verify several outputs from LLMs, (2) the generation of false results that seem correct, (3) their computation process is based on probabilities that are not controllable, and (4) LLMs learn from a large general corpora of data making their application in specific well-defined problem domains challenging because of the large training data noise.

4.2.2. Knowledge Graphs (KG)

To address the disadvantages of LLMs, Shirui et al. [9] integrate LLMs’ processing with KG [10]. Since the term knowledge graph was popularized by Google, the concept has been researched during the early days of AI. KG is used to synthesize data descriptors from multiple sources through relationship links. Shirui et al. [9] identify the advantages and disadvantages of KG.
KG stores knowledge in a structural format, i.e., (node, relationship, node), (2) the relations can be verified, (3) facilities symbolic reasoning that allows for human understandability of the reasoning process, (4) allows domain-specific knowledge reasoning for precise domain-specific application, and (5) permits the evolution of the stored knowledge [9]. On the contrary, they are hard to construct and are usually incomplete, (2) language understandability is not available, and (3) because of the dynamic changes in KG knowledge, it is difficult to anticipate and model new facts [9]. Shirui et al. [9] leverage the advantages of LLM and KG (Figure 2) in Ref. [9].

4.3. Applying AI to Requirements Elicitation

Requirement engineering is the initial phase of the SDLC and encompasses a set of activities. The outcome of requirements elicitation is the system specification that identifies the functionalities of the system under development. This involves extracting from printed and electronic texts, audio and video recordings, and oral descriptions of the system requirements obtained from the system stakeholders. This stage of development is challenging as many stakeholders are non-technical personnels and deliver their products in their native forms.
Developers struggle with requirements elicitation. Therefore, errors occur in the system specification. AI has demonstrated its usefulness in parsing and analyzing various forms of human-readable information which is this feature of AI. AI techniques are applied to the stakeholder’s system requirement documents, and the output of the IA processing is verified and validated by software developers in collaboration with the stakeholders.

4.4. AI Tool Selection

AI tools applied to the desired framework are identified. The LlamaIndex tool is selected after an extensive search. LlamaIndex is an LLM class AI open-source tool to build retrieval-augmented generation (RAG) applications. RAG-class LLMs are designed to address the limitations of general LLMs such as the generation of false information, stale or generic information, responses from non-authoritative sources, and inaccurate responses [9]. Those restrict LLM to access relevant information from authoritative, pre-determined knowledge sources

4.5. AI in SD Pedagogy

The pedagogical approach to applying AI in software development in the classroom includes the following steps with the theory of an SD/SE project-based course:
  • Instruction on the SDLC framework, based on a modified version of Figure 1 that adds a requirement elicitation phase as the first in the SDLC. A key to this activity is to teach the model-driven approach in the automatic code-framework generation at the end of the detailed design phase (2 weeks).
  • There is no instruction on the AI techniques of the tool for students to be trained in using the tool as an aid in SD without focusing on AI. The LlamaIndex generated KG is used to develop the requirements class diagram and use case diagram of the requirement engineering phase as depicted in Figure 1 (1 week).
  • Instruction on the StarUML tool for model development throughout the requirement engineering, requirements class diagram, and use case diagram of high-level design, low-level design, and detail-level (1 week).
  • Instruction on MS Visual Studio (VS) IDE for code development in the next phase of the SDLC after phase 1 activities (1 week).
  • Instruction on and presentation of the course team-based term project includes descriptions of the project requirements (processed through LlamaIndex). The project deliverables project progress report, AI-generated software system specification, models from all design phases, MS VS project code, a final project report, and a presentation and demonstration of the developed project.
  • This course is offered for one hour, three times per week, for a 16-week semester. Starting in the sixth week, one session per week is dedicated to in-class project activities to ensure that the teams are progressing with the necessary guidance and mentoring. There are pre- and post-surveys to capture qualitative and quantitative data of the students’ initial and closing views on the course pedagogical approach.

5. Results and Discussions

Preliminary research was conducted to identify an industrial-strength opensource AI tool for college graduates and upper-level undergraduates in software development courses. An example of a simplified KG from the selected LlamaIndex application is presented in Figure 3.
Figure 3 presents the requirements of a university learning management system (LMS). LlamaIndex is capable of automated knowledge graph generation and captures the functionality from the requirements for a request to remove a professor from the system listing: “The system displays the professor information. The system asks the Registrar to confirm the deletion of professor. After the Registrar verifies, the system deletes the professor from the system” [11].

Lessons

There are multiple AI methods in the open-source forum and the selection of any is a challenging task. Several methods have limited documentation and are not maintained over time. A simplified interface and ease of use are beneficial for intended users. For undergraduate students, it is necessary to preprocess the requirement statement, as the experimentation with various forms (prose, tabular, and bulleted) produced varied KGs for the same specification description.
There are opportunities to apply AI technologies in the phases of the SDLC. It is necessary to use AI for conducting unit and system testing. Software system testing is the last phase in the SDLC, which is challenging. One of these challenges is associated with test case generation. The number of test cases for systems might be infinite, which makes it impossible to conduct exhaustive testing. The research is necessary to explore how AI technology addresses the state–space explosion problem in software system testing.

6. Conclusions

We explore how to adapt AI in software development education at the tertiary level. AI continues to be a driving factor in SD. However, because of its probabilistic, complex, and black-box computational paradigms, software development practitioners and developers of AI applications must acquire the requisite knowledge to apply and develop AI applications that can be trusted by the general population. We present how to apply AI tools at the forefront of the SDLC, wherein software system requirement elicitation activities are enhanced with AI technology for correct effective, efficient, and reliable software systems.

Author Contributions

Conceptualization, E.S.G. and S.S.; methodology, E.S.G. and S.S.; software, Q.S. and M.A.; validation, E.S.G. and S.S.; formal analysis, E.S.G.; investigation, E.S.G., S.S., Q.S. and M.A.; resources, Q.S.; data curation, Q.S. and M.A.; writing—original draft preparation, E.S.G. and S.S.; writing—review and editing, E.S.G.; visualization, Q.S. and M.A.; supervision, E.S.G. and S.S.; project administration, E.S.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data Sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Last, M.; Kalech, M.; Abreu, R. Artificial Intelligence Methods for Software Engineering; World Scientific Publishing Company: Singapore, 2021. [Google Scholar]
  2. Lu, Q. Towards a Roadmap on Software Engineering for Responsible AI. In Proceedings of the 2022 IEEE/ACM 1st International Conference on AI Engineering—Software Engineering for AI (CAIN), Pittsburgh, Pennsylvania, 16–24 May 2022; IEEE Xplore: New York, NY, USA, 2022. [Google Scholar] [CrossRef]
  3. Denny, P.; Prather, J.; Becker, B.A.; Finnie-Ansley, J.; Hellas, A.O.; Leinonen, J.; Luxton-Reilly, A.; Reeves, B.N.; Santos, E.A.; Sarsa, S. Computing Education in the Era of Generative AI. Commun. ACM 2024, 67, 56–67. [Google Scholar] [CrossRef]
  4. Ozdemir, S. Quick Start Guide to Large Language Models: Strategies and Best Practices for Using ChatGPT and Other LLMs, 1st ed.; Addison-Wesley Data & Analytics Series; Addison-Wesley Professional: Boston, MA, USA, 2023; ISBN 978-0138199197. [Google Scholar]
  5. Grant, E.S. Advancing Object-Oriented Model-Driven Software Engineering Pedagogy. In Proceedings of the 2023 IEEE 35th International Conference on Software Engineering Education and Training (CSEE&T), Tokyo, Japan, 7–9 August 2023; pp. 41–48. [Google Scholar] [CrossRef]
  6. ISO/IEC 19501:2005; Information Technology—Open Distributed Processing—Unified Modeling Language (UML) Version 1.4.2. ISO: Geneva, Switzerland, 2005.
  7. U.S. Bureau of Labor Statistics. Occupational Outlook Handbook; U.S. Department of Labor: Washington, DC, USA, April 2025. [Google Scholar]
  8. Liu, Y.; Ott, M.; Goyal, N.; Du, J.; Joshi, M.; Chen, D.; Levy, O.; Lewis, M.; Zettlemoyer, L.; Stoyanov, V. Roberta: A robustly optimized bert pretraining approach. arXiv 2019, arXiv:1907.11692. [Google Scholar]
  9. Pan, S.; Luo; Wang, Y.; Chen, C.; Wang, J.; Wu, X. Unifying large language models and knowledge graphs: A roadmap. IEEE Trans. Knowl. Data Eng. 2024, 36, 3580–3599. [Google Scholar] [CrossRef]
  10. Janev, V.; Graux, D.; Jabeen, H.; Sallinger, E. (Eds.) Knowledge Graphs and Big Data Processing (LNCS 12072), 1st ed.; Springer: Berlin/Heidelberg, Germany, 2020. [Google Scholar]
  11. Hussain, I. Linguistic Approaches for Early Measurement of Functional Size from Software Requirements. Ph.D. Dissertation, Concordia University, Montreal, QC, Canada, 2014. [Google Scholar]
Figure 1. Object-oriented model-driven development framework [5].
Figure 1. Object-oriented model-driven development framework [5].
Engproc 92 00026 g001
Figure 2. Advantages and disadvantages of LLM and KG [9].
Figure 2. Advantages and disadvantages of LLM and KG [9].
Engproc 92 00026 g002
Figure 3. LlamaIndex KG.
Figure 3. LlamaIndex KG.
Engproc 92 00026 g003
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Grant, E.S.; Shao, S.; Shi, Q.; Arinaitwe, M. Applying Artificial Intelligence in Software Development Education. Eng. Proc. 2025, 92, 26. https://doi.org/10.3390/engproc2025092026

AMA Style

Grant ES, Shao S, Shi Q, Arinaitwe M. Applying Artificial Intelligence in Software Development Education. Engineering Proceedings. 2025; 92(1):26. https://doi.org/10.3390/engproc2025092026

Chicago/Turabian Style

Grant, Emanuel S., Sicong Shao, Qinxuan Shi, and Mark Arinaitwe. 2025. "Applying Artificial Intelligence in Software Development Education" Engineering Proceedings 92, no. 1: 26. https://doi.org/10.3390/engproc2025092026

APA Style

Grant, E. S., Shao, S., Shi, Q., & Arinaitwe, M. (2025). Applying Artificial Intelligence in Software Development Education. Engineering Proceedings, 92(1), 26. https://doi.org/10.3390/engproc2025092026

Article Metrics

Back to TopTop