Software Engineereing LLM
Software Engineereing LLM
666
Software Engineering Education Must Adapt and Evolve SIGCSE 2024, March 20–23, 2024, Portland, OR, USA
literature concerning the impact of ChatGPT on education [33]. 2 GOALS OF SOFTWARE ENGINEERING
Educators have explored ways to incorporate AI into various EDUCATION
educational disciplines [34], with computer science and software
To fully evaluate the impact of generative AI/interactive LLMs on
engineering curricula being no exception [1, 3]. The rapidly
software engineering education, we first consider the goals of
evolving nature of AI presents a unique challenge for curriculum
software engineering education. These will be affected to some
design and pedagogy. The integration of AI principles, machine
extent by context–the degree (or certificate) program in which it
learning techniques, and the management of AI’s ethical and
occurs, and the placement in that program. For simplicity, we
societal implications into software engineering education remains
assume a single framework: an upper-level sequence in a relatively
an area of active discussion. However, the specific focus on LLMs
large computer science or informatics program, perhaps in a
and their implications for software engineering education remains
software engineering track, and possibly serving as a capstone
relatively unexplored.
experience, although elements of the software development
The rise of LLMs has been marked by significant research, with process and practices will have been covered in lower-level
studies focusing on capabilities, strengths, and limitations [11, 37]. courses. The following recommendations may not be suitable in
It is broadly recognized that these models, while powerful, are far their entirety for every program, depending on its size, structure,
from perfect, with notable concerns surrounding their and nature, and should be selectively adopted and modified
susceptibility to biases, misuse, and their “black box” nature [8]. accordingly. Moreover, these recommendations are intended to
These challenges are not isolated to the realm of AI research, but complement rather than replace ACM/IEEE guidelines [26, 29, 30]
permeate the practical application of these models, making them for courses in software engineering.
highly relevant for software engineers.
Such a software engineering sequence has a four-fold objective: (1)
The burgeoning domain of AI ethics has also garnered significant to convey to the student the conceptual foundations of software
attention in academia. This is mirrored in the literature, with engineering, (2) to develop or strengthen student knowledge, skills,
scholars highlighting the importance of understanding and and capabilities in essential aspects of software engineering, (3) to
addressing potential biases, transparency, privacy issues, and prepare students for careers in software development or related
ethical considerations in AI [23, 35]. Importantly, these ethical fields, and to inculcate or refine student soft skills and capacity for
considerations are not solely impacting the domain of AI life-long learning, and (4) to place software engineering in context
researchers; they are pertinent to software engineers tasked with within the program and within the discipline of computer science,
developing and deploying AI-powered applications, further and within the student’s overall education.
underlining the necessity for ethics education in software
engineering curricula. Conceptual and structural foundations aim to provide an
understanding of the software engineering life cycle, from ideation
This paper explores how software engineering education must
and requirements to maintenance [9, 36, 39, 42]. It should, after a
adapt to the rising prominence of LLMs, reflecting the need for a
brief historical overview, not merely comprise discussion of
holistic understanding of these models. We delve into several
software engineering workflows, of the motivation behind modern
pivotal areas of knowledge for future software engineers, including
approaches such as lean and agile [6, 15], and of software
a technical understanding of LLMs and AI principles, the ethical
development as part of broader system and enterprise structures. It
implications of AI deployment, data science techniques, debugging
should also support foundational consideration of issues such as (1)
and interpreting AI model outputs, adaptability in a rapidly
software architecture, both the linkage of the software
changing field, model training and tuning, the integration and
application/module into the larger system, and important
application of LLMs in software systems, understanding relevant
principles and building blocks such as modularization, separation
laws and regulations, and the pedagogical approaches most
of concerns, patterns [19] (with data analysis and AI-driven
effective for teaching these complex topics.
patterns likely to emerge), aspect-oriented paradigm, and use of the
By exploring these crucial areas of software engineering education functional paradigm; (2) requirements–elicitation, analysis, and
in an LLM environment, we aim to shed light on the competencies documentation–including regulatory and legal requirements,
that future software engineers will need. It is our hope that this structural and physical constraints and connections, user- and
discussion will contribute to the ongoing dialogue surrounding the service-oriented constraints and goals, quality objectives, and
future of software engineering education and serve as a valuable methods and practices such as hypothesis-driven development
resource for educators, curriculum developers, and policymakers in (HDD) [13], behavior-driven and test-driven (BDD, and TDD)
the field. We also examine the question of how ChatGPT and development [38], and design thinking [31]; (3) testing, validation,
similar tools and environments can be used effectively in the and verification (TVV), including formal methods; and (4) special
education process, specifically in software engineering education. attention to critical non-functional attributes such as security,
privacy, safety, reliability, availability, scalability, timeliness and
The rest of this paper is organized as follows: Section 2 considers embedded systems behavior, and accessibility [36].
the goals of software engineering education in light of student
curriculum and prospective careers. Section 3 then examines the The second goal is to develop professional competence. The
changes to software engineering, software engineering education, sequence should build upon and interleave with the conceptual
and course pedagogy. Section 4 focuses specifically on ethical view to introduce modern software engineering practice,
issues. Finally, Section 5 presents conclusions and future work. incorporating hands-on experience and a major team project as
667
SIGCSE 2024, March 20–23, 2024, Portland, OR, USA Vassilka D. Kirova, Cyril S. Ku, Joseph R. Laracy, & Thomas J. Marlowe
practicable. Ideally, the project (or projects) should be developed in society is also desirable, but arguably can be covered in a separate
collaboration with real-world partners, on problems related to their course.
own practice or needs (e.g., capstone projects), where the partners
serve as customer representatives, and instructors as product 3 SOFTWARE ENGINEERING EDUCATION IN
owners (as in agile) or technical manager–or in some AN LLM WORLD
circumstances, vice-versa. Both discussion and project should be
The use of generative AI, and interactive LLM models in particular,
based on up-to-date usage and course objectives to the extent
in the software development process and the practice of software
possible–although gradual development of student knowledge,
engineering raises three major questions: How does it affect the
skills and competencies will almost inevitably make the project
process and practice? How does it affect what we teach? How does
more waterfall-like than in actual practice. Students should, to the
it affect how we teach?
extent possible, make use of tools such as software configuration
management, tool suites implementing UML [27], testing tools, and
program analyzers. They should practice an Agile approach (for
3.1 Changes to real-world practice
example, Scrum [40]) for planning, work management, team It is now clear that generative AI can influence all aspects of the
coordination and meetings, and tracking progress [15]. They can software engineering process and all workflows in the
also use agile project management tools, such as Atlassian JiraTM development process, to be discussed further in our companion
[25]. The project should go through several iterations, a minimum paper [32] (see also [7, 16]). Its LLM databases and fluency with
viable product (MVP) delivery, and a release. The relationship of language can ease requirements acquisition, refinement, and
development activities to project management, systems analysis, specification, and documentation, although it will work
engineering goals, product line, risk management, and corporate best if those databases prioritize relevant context and glossaries,
policy, again tied to the actual project(s) as far as possible, needs to and include examples of various process and project artifacts (such
be discussed. as various UML models [10]). It can also serve as a coder for routine
tasks, and as a pair programming partner (GitHub) for more
Third, the course should aim to prepare the student for a career in complex or more sensitive modules, as well as identifying
software engineering, technical management, or a related field, and opportunities for patterns and the need for refactoring or further
for life-long learning. Beyond professional competence, there are documentation. It can also take rough sketches of narratives, codes,
three major subgoals: to develop critical thinking and modeling or artifacts, flesh them out, and render them in a consistent style.
habits and skills, via open-ended but focused inquiry; to refine the And it can also be used as an adjunct in technical project
ability to acquire and integrate knowledge, such as through management, to look for missing elements or additional analyses.
preparation of an annotated bibliography and brief overview; and As such, considering an incremental iterative process (such as agile
to sharpen and specialize soft skills, such as communication or lean software engineering), it is likely to increase efficiency and
(speaking and listening, writing and reading, and presentation), effectiveness and shorten the time between releases, allow more to
teamwork (leadership, support, respectful disagreement, and be managed in each iteration, or facilitate more effective
collaboration), documentation-related tasks, and professional collaboration, as well as to change the granularity, scheduling,
interpersonal interactions. An interdisciplinary perspective is also interleaving, and interaction of workflows and activities.
desirable, but is more likely to be emergent than a specified course
goal. The use of interactive LLM models does however pose three
significant challenges. One comes from the well-documented
Finally, for full understanding, software engineering has to be problem of fabulation and hallucination—citations and events in
placed in context. The greater systems context has already been narratives are not trustworthy, and need to be checked. In addition,
mentioned, but other connections are likewise important. Software as with other AI applications, bias may have been embedded in the
engineering should be placed within the degree curriculum. dataset, and emerged, particularly in requirements or user
Connections to other computer science courses (such as experience/interface workflows [4, 20, 21, 44]. A second arises
programming and Web development, architecture and operating because, no matter how complete or how specialized and
systems, data structures and algorithms, databases, networking, or contextual the databases and training sets are, and no matter how
security) are fairly straightforward, as are those to mathematics well prompts and interaction proceed, the tool does not understand
and data science courses (such as discrete structures, logic, or the larger context, and may conflate meanings, or miss problems
statistics), but those connections should not be left to the student. involving critical attributes such as security or privacy. And the
The use of generative AI will render a prerequisite course in data third is the issue of intellectual property [12], with two dimensions:
science (or in artificial intelligence), introducing data mining, inflowing, where an interactive LLM tool may “plagiarize” code or
machine learning, and neural networks, highly desirable. But other narrative that is the property of others or covered by an open
connections are also important and should be mentioned: ethics software arrangement, endangering the rights of the developer or
(see Section 4), communication and the social sciences (for user the customer, and outflowing, where exchanges with the tool or
interaction, data visualization, interface design, cognitive science, artifacts produced by the tool may become part of its ongoing
and more), economics and business, law (and politics), and datasets, and leak proprietary artifacts or information to others.
application areas such as the digital humanities or libraries. A
historical understanding of the interaction of technology and Because of these challenges, some have suggested [43] that
interactive LLM tools not be used in developing commercial
668
Software Engineering Education Must Adapt and Evolve SIGCSE 2024, March 20–23, 2024, Portland, OR, USA
applications, but in our view, economic pressures, competition, and This may be the most important change, and deserves some
changes in quality standards will result in their general use. Still, elaboration. The key goals for software development have been
three safeguards suggest themselves. The first is the use of an in- characterized as “Do the right thing,” “Do the thing right,” and “Do
house instance of the tool, with properly filtered, seeded, and the thing well,” to which one might add “And don’t screw up any
reviewed databases. The second is a more rigorous and thorough guarantees.”
use of review and testing, validation, and verification (TVV), as ● Review should include a requirements review for the fidelity
further discussed below. And third is mostly in the future: greater of translation and integration of sources, consistency,
integration with interactive LLM of the results of TVV activities, of coherence, completeness, and lack of ambiguity (while
data analytics, and of program analyses and analyses of other allowing for emergent requirements as in agile approaches),
process artifacts. consistency checks between workflows (e.g., requirements to
specification, specification to design, design to
3.2 Changes to course content implementation, implementation to deployment), and
An upper-level software engineering course must make selective consistency between artifacts and documentation.
use of the changes described above, and as a result, other changes, ● Testing, as is well understood, includes not only unit and
both global/structural and focused, must occur. The evident global integration testing, but platform and acceptance testing, and
changes fall into three areas, closely following the points in the testing for security, safety, accessibility, and other critical
previous section. guarantees.
● Validation checks whether the application being developed
First, as interactive LLM tools take over or assist with routine tasks,
actually does what was envisioned, and whether results of the
there will be a shift from practicing and refining detail to a more
desired type(s) can readily be obtained by the user on the
conceptual understanding, analogous in some ways to the shift in
deployment platform.
arithmetic with the advent of calculators, or the shift in statistics
● Finally, verification complements testing by providing
with spreadsheets and statistical software. With the time saved, the
assurances that the software performs as specified.
course can further explore key topics, including design thinking for
Verification uses formal methods in various forms, such as
innovation, software engineering workflows and artifacts, the
protocol checking via temporal logic, model checking, static
nature and form of requirements and specifications, the use of
analysis, and hybrids, and can be combined with testing in
patterns, aspects, functional language features, and refactoring
dynamic analysis of specific scenarios. Verification can
[18], coding practices including clean code, code consistency,
provide guarantees that may be hard to achieve by testing; for
useful commenting, TVV, maintenance, and evolution. Most
example, to check for memory leaks, access control failures,
importantly, time should be spent discussing or reviewing the
or timeliness for real-time and embedded applications. It
impacts of AI and the nature and use of generative AI and LLM
should however be noted that static analyses and other formal
models.
approaches can be subject to false positives–detecting
Second, since the process will be relying on interactive LLM tools, problems where there are none–often requiring a sequence of
time needs to be allocated to preparing and interacting with those analyses.
models. While it may not be reasonable to have a specialized While there will likely not be time to cover all of these R-TVV
training set or database, the course should consider what additional activities in depth—a good topic for an advanced undergraduate
information, glossaries, and interactions would be helpful in seminar—students should be exposed to these concepts, see them
preparing to use the LLM model to assist in the current project. in operation, and be asked to implement at least a reasonable
More importantly, developing good prompts and sequences of selection across the categories.
interactions and refinements, and providing requests/suggestions
Focused changes to specific workflows and activities, beyond the
based on review, analyses, and TVV activities, now becomes its
further emphasis on review and TVV activities include the use of
own topic in an LLM-mediated software engineering program.
Further, software engineering students should get familiar with the interactive LLM in (1) requirements acquisition and
APIs and options for interaction provided by LLM-based tools. documentation–properties of and issues with similar tools, and
capturing user dissatisfaction, expectations and desires; and (2)
Third, especially in the course project, far more time and attention user experience/interface design and refinement, possibly in
can and must be devoted to review, testing, validation, and combination with a discussion of hypothesis-driven design.
verification activities (R-TVV). This is required in part due to
fabulation and hallucination, on the one hand, and
3.3 Changes to course pedagogy
context/semantic confusion, on the other. But it is also true that AI-
The use of generative AI, and of interactive LLM models in
based tools cannot (at least at this point) have a human
particular, introduces both opportunities and difficulties for
understanding of issues such as safety, privacy, and physical
instruction, both in general and for software engineering in
reality, and that LLM models have a known problem with even
particular. The curriculum-wide difficulty with students having
simple proofs [5]. Partly for this reason, more time should also be
ChatGPT or similar tools doing their assignments, and the
devoted to maintenance and evolution tasks, ideally complemented
concomitant problems with the tool’s (inadvertent) plagiarism, and
by at least two iterations of the course project, using generative AI
with fabulation and hallucination, and with students so reliant on
to aid in identifying possible improvements.
such tools that they fail to understand or internalize key course
669
SIGCSE 2024, March 20–23, 2024, Portland, OR, USA Vassilka D. Kirova, Cyril S. Ku, Joseph R. Laracy, & Thomas J. Marlowe
concepts, has been discussed at length [5, 41]. But such tools also 4 ETHICS AND RESPONSIBLE AI
provide an opportunity, used as intermediaries for improved The impact of AI on society is immense and multi-faceted, and
English-language communication for students with disabilities and LLMs are a prime example. Responsible AI encompasses a broad
English as a second language speakers. They can likewise be used range of concerns, including bias, transparency, privacy, society
more generally to improve drawings, technical artifacts, and impact, legal implications, and protection of intellectual property.
formatting. Sound ethical reasoning must guide the development and
In software engineering and in other courses, the difficulties can in deployment of AI. Professional scientists and engineers cannot
part be addressed by giving open-ended assignments where (at remain at the emotivist level, i.e., attempting to make ethical
least at present) interactive LLM tools usually do not have decisions based on feelings, which are often unreliable and fleeting.
sufficient context or training to readily provide useful answers in Ethics, sometimes referred to as “moral philosophy,” is a rigorous
complex scenarios. A favorite assignment of one of the authors is academic discipline that studies acts of the will affirming or
to give a partial description of a problem, and to ask: Do you know rejecting the order proposed by reason.
enough to solve the problem? If not [which is the correct answer]: The teleological, deontological, and virtue approaches to
What else do you need to know? Why does it matter? How will engineering ethics are all applicable to AI. Teleological ethics
you make use of the information? focuses on the telos, i.e., end goal of an act. Thus, teleological
Similarly, students can be asked to locate and address risks from approaches to ethics judge an act to be right or wrong in relation
fabulation/hallucination using a combination of critical and to the outcome, i.e., I deliberately order my actions toward the
reflective thinking with cross-checking. Such critical thinking skills realization of an outcome which I previously identified as good.
are also important both in review, as discussed above, and in formal Deontological approaches are rooted in deon, i.e., duty, and thus
verification. An annotated bibliography assignment, even if judge the ethics of an act based on the inherent rightness or
ChatGPT or other tools can be used, can be kept honest by wrongness, rather than on its consequences. Virtue ethics is based
requiring this cross-checking, by asking for the student’s on virtus, i.e., excellence of character, and can be classified as a
evaluation of the paper, and by requiring a brief oral survey species of teleological ethics. It is established on the principle that
presentation. one should “act in a way the good or virtuous person would act in
the circumstance” [24]. As Anderson et al. [2] point out, Catholic
LLM tools can also support interdisciplinary perspectives and
Social Teaching (CST), or its analogs from other traditions, can also
collaborations–one possibility is simply to ask the tool to rewrite a
be fruitfully applied to ethical issues that arise in engineering and
document from a different perspective—both allowing more
technology.
effective coverage of interdisciplinary links, as discussed in Section
2, and enabling cross-disciplinary applications. By suggesting data All students in engineering disciplines, including but not limited to
structures, patterns, refactoring, and other features, and analogs in computer science, electrical and computer engineering, and data
other workflows, the tools can also improve the quality of the final science, should have a dedicated course in professional ethics. Such
application. Likewise, LLM tools and the time saved by their use courses typically address ethical issues in the practice of
may allow (and provide time for) better integration of results from engineering such as safety and liability, professional responsibility
data analytics and other AI techniques, where appropriate. to clients and employers, whistle-blowing, codes of ethics, and legal
obligations. They also provide philosophical analysis of normative
Team interactions can benefit, as mentioned above, from style
ethical theories and review numerous case studies. Given the issues
consistency afforded by LLM tools, and by reduced need for team
that are arising with AI around fairness, accountability,
members to generate full documentation. The LLM tools in
transparency, and privacy, a substantial number of classroom
combination with other tools can also assist in project
hours should be set aside for AI. For example, bias in AI, often
management, including risk management, although clearly not at
resulting from biased training data, may lead to skewed outcomes
a professional/commercial level, which would require additional
and unjust discrimination. This can have very serious implications,
activities, checks and validation.
particularly when AI is used in sensitive areas such as hiring,
The big remaining problem is one of assessment. Some suggestions lending, criminal justice, or law enforcement.
for individual assignments—are provided above, but the usual
Transparency, another key ethical principle, relates to the ability to
difficulty of grading team projects has if anything been made more
understand and interpret how AI models make decisions. However,
difficult. One possibility might be to require copies of original draft
as mentioned above, LLMs often function as “black boxes,” with
artifacts and prompts along with the finished product, and/or a
their decision-making processes obscured and difficult to
critical evaluation of the result. Another might be, analogous to one
understand. This lack of transparency can complicate efforts to
of the assignments just mentioned, to require an assessment of
ensure the accountability of AI systems. LLMs can potentially
strengths, weaknesses, and possible future directions for the
reveal sensitive information, i.e., privacy, especially if they were
application. Overall, it seems to be possible to offer an LLM-
trained on private data. Safeguarding user privacy requires careful
intensive software engineering course/sequence, by focusing the
consideration when developing and using AI technologies. LLMs
course on concepts as well as critical and reflective thinking, and
can also generate original content, be it an article, a piece of music,
on creating habits of mind for professional and personal success.
an image, or software code, raising questions about authorship and
ownership. The question of whether AI can hold a copyright or
patent appears resolved in the negative for now, but may yet
670
Software Engineering Education Must Adapt and Evolve SIGCSE 2024, March 20–23, 2024, Portland, OR, USA
change. In addition, the use of copyrighted materials in training APIs, how to evaluate their outputs, and how to deal with
machine learning models can also pose legal challenges. possible ethical and legal questions related to using them.
The well-known problem of hallucination and fabulation in LLMs ● The coverage of software engineering development and
raises additional concerns for veracity, transparency, and management workflows must be updated to reflect and
explainability. In some cases, consequences may even impinge on explain the potential role of generative AI and LLMs.
safety, security, privacy, and more. This issue may be more evident ● Software engineering curricula will need to further emphasize
in software development, since there is a need to provide greater conceptual aspects, modeling, design thinking, problem-
documentation for the project and its evolution, for users, and solving, HDD, and creativity, as LLMs can automate or
others. There is thus an ethical as well as a practical obligation to simplify some of the low-level coding tasks.
review and verify artifacts generated by LLMs, and in particular, ● Software engineering curricula will need to incorporate more
citations and accounts referenced in those artifacts, not only for the interdisciplinary and collaborative skills development, as
enterprise, and its clients and end-users, but also to the discipline, LLMs can enable new applications and domains that require
regulators, and the scholarly community. Of course, generative AI knowledge from different fields.
may also be able to support exploration, subject to supervision ● Software engineering curricula will need to foster critical and
and/or review, of ethical risks, in combination (as discussed above) reflective thinking, as LLMs can hallucinate and generate
with various tools and analyses, to search for risks and potential incorrect, incomplete, inconsistent, or biased outputs that may
ethical violations, and if readily available, such analyses should have negative consequences.
definitely be explored within the educational context and in actual
Further, as discussed in the paper, educators need to update
application development in the real world.
pedagogical methods and tools, to allow for supervised and
Various public and private organizations have already become very effective use of tools such as ChatGPT in the classrooms and as part
active in this space. Software engineering students should be of students’ individual learning process. While the initial reaction
introduced to their contributions. A university course that of the education community to the introduction of ChatGPT was
addresses AI ethics should expose students to the work thus far by largely negative, this has been changing steadily [14, 22].
the ACM, IEEE, EU, UNESCO, Google, IBM, and others. A potential
assignment might be to compare, contrast, and ultimately evaluate We see these tools as effective assistants in the education process,
their approaches. Complementarily, ethics should be revisited and we are incorporating them into our teaching and research
within the software engineering course/sequence, with a focus on plans. We are currently working on a detailed analysis of the
ethical development, deployment, evolution, and impact on critical impact of generative AI and LLMs on software engineering
concerns such as security, safety, and privacy, and these concerns workflows including aspects as project and risk management. We
should specifically be included in the course project, especially in also intend to look at questions as:
requirements analysis and reviews. ● How to ensure the quality, reliability, security, and ethics of
generative AI outputs and systems, especially in safety-critical
or high-stakes domains?
5 CONCLUSIONS ● How to leverage generative AI to support collaborative and
In this paper, we argue that generative AI and LLMs, such as interdisciplinary software development projects, involving
OpenAI ChatGPT, GitHub Copilot, and Google LaMDA will have a diverse stakeholders, domains, and data sources (as a natural
significant impact on the discipline and practice of software extension of our earlier work on collaborative software
engineering and that software engineering education needs to development [28])
evolve and adapt continuously to reflect these new developments ● How to foster a culture of innovation and creativity among
and upcoming improvements to better prepare software software engineering students and educators, using
engineering students for a successful career in software generative AI as a source of inspiration, feedback, or
development, analysis, management, and related fields. exploration?
Our interests and focus are on approaches that can be applied in
In the paper we examine the essential educational goals of software
practice, as part of a hands-on educational process and also by
engineering curricula and then discuss how generative AI and
practicing software engineers.
LLMs impact, support, and further these goals. Generative AI and
LLMs will change the way software engineers learn and work.
They will change what software engineers do and how they do it. ACKNOWLEDGMENTS
For this, software engineering educators will need to update the The authors would like to thank Dr. Kathy Herbert of Montclair
content of software engineering courses, including topics, tools, State University, Dr. Yong-Fong Lee of Intel, Mr. Garett Chang of
projects, and exercises. In summary, we see the following key areas Highstep Technologies, and Dr. Nagib Callaos of IIIS for valuable
of change: discussions on this topic.
● Software engineering curricula will need to incorporate
focused discussions of the capabilities and limitations of REFERENCES
LLMs, including how to use them effectively, how to interact [1] A. Ahmad et al. 2023. Towards Human-Bot Collaborative Software Architecting
with ChatGPT, EASE ’23: Proc. 27th International Conference on Evaluation and
and interface with them, including prompt engineering and
Assessment in Software Engineering, June 2023, Pages 279–285.
https://doi.org/10.1145/3593434.3593468
671
SIGCSE 2024, March 20–23, 2024, Portland, OR, USA Vassilka D. Kirova, Cyril S. Ku, Joseph R. Laracy, & Thomas J. Marlowe
[2] J.M. Anderson et al. 2020. A Multi-Disciplinary Analysis of Catholic Social [23] S. Haijian et al. 2016. Algorithmic Bias: From Discrimination Discovery to
Teaching with Implications for Engineering and Technology. J. Systemics, Fairness-aware Data Mining. In Proc. 22nd ACM SIGKDD International Conference
Cybernetics and Informatics 18 (6), 41–49, 2020. on Knowledge Discovery and Data Mining, KDD ‘16.
http://www.iiisci.org/journal/sci/issue.asp?is=ISS2006 https://doi.org/10.1145/2939672.2945386
[3] P. Banerjee et al. 2023. Understanding ChatGPT: Impact Analysis and Path [24] C.E. Harris Jr. et al. 2019. Engineering Ethics: Concepts and Cases. Cengage
Forward for Teaching Computer Science and Engineering. Preprint, Learning, Boston.
ResearchGate. April 2023. DOI: 10.36227/techrxiv.22639705.v1. License CC BY 4.0. [25] O. Havazík and P. Pavlíčková, "How to design Agile game for education purposes
https://www.researchgate.net/publication/370148926_Understanding_ChatGPT_ in JIRA," 2020 IEEE/IFAC 7th International Conference on Control, Decision and
Impact_Analysis_and_Path_Forward_for_Teaching_Computer_Science_and_En Information Technologies (CoDIT), Prague, Czech Republic, 2020, pp. 331-334,
gineering doi: 10.1109/CoDIT49905.2020.9263937.
[4] Y. Bang et al. 2023. A multitask, multilingual, multimodal evaluation of chatgpt [26] Institute of Electrical and Electronics Engineers (IEEE). Software Engineering
on reasoning, hallucination, and interactivity, arXiv preprint arXiv:2302.04023. Body of Knowledge (SWEBOK). Retrieved.
[5] M.Bartels. 2023, You Can Probably Beat ChatGPT at These Math Brainteasers. https://www.computer.org/education/bodies-of-knowledge/software-
Scientific American (May 25, 2023). engineering.
https://www.scientificamerican.com/article/you-can-probably-beat-chatgpt-at- [27] I. Jacobson et al. 1999. The Unified Software Development Process. Addison-Wesley,
these-math-brainteasers-heres-why/ Reading, MA.
[6] K. Beck et al. 2001. Manifesto for Agile Software Development. agilemanifesto.org [28] N. Jastroch et al. 2011 Adapting Business and Technical Processes for
[7] B.A. Becker et al. 2023. Programming Is Hard - Or at Least It Used to Be: Collaborative Software Development. In Proc. 17th Int’l Conf. on Concurrent
Educational Opportunities and Challenges of AI Code Generation. In Proc. 54th Enterprising (ICE 2011), 1-8. Aachen, Germany. INSPEC Accession Number:
ACM Tech.l Symposium on Comp. Sci. Educ., SIGCSE 2023, Vol. 1. Association for 12289921.
Computing Machinery, New York, NY, USA, 500–506. [29] Joint Task Force on Computing Curricula. Software Engineering 2014:
https://doi.org/10.1145/3545945.3569759 Curriculum Guidelines for Undergraduate Degree Programs in Software
[8] E.M. Bender et al. 2021. On the Dangers of Stochastic Parrots: Can Language Engineering. (23 February 2015)
Models be too Big? In Proc. 2021 ACM Conference on Fairness, Accountability, and https://www.acm.org/binaries/content/assets/education/se2014.pdf.
Transparency, FAccT’21, March 3-10, 2021, Canada, Pages 610–623. [30] Joint Task Force on Computing Curricula. CS2023: ACM/IEEE-CS/AAAI
https://doi.org/10.1145/3442188.3445922 Computer Science Curricula. CC2023: Software Engineering.
[9] E.J. Braude and M.E. Bernstein. 2016. Software Engineering: Modern Approaches https://csed.acm.org/wp-content/uploads/2023/09/SE-Version-Gamma.pdf.
(2nd ed.). Waveland Press, Inc., 2016. [31] A. Kernbach et al. 2022. Design Thinking at a glance - An overview of models
[10] G. Booch et al. 1999. The UML Users Guide, Addison-Wesley, Reading, MA, 1999. along with enablers and barriers of bringing it to the workplace and life. In 2022
[11] T.B. Brown et al. 2000. Language models are few-shot learners. arXiv preprint 26th International Conference Information Visualisation, Vienna, Austria, 2022, 227-
arXiv:2005.14165. 233. doi: 10.1109/IV56949.2022.00046
[12] R.D. Caballar. 2022. Ownership of AI-Generated Code Hotly Disputed: A [32] V.D. Kirova, C.S, Ku, J.R. Laracy, T.J. Marlowe. Interactive Large Language Models
copyright storm may be brewing for GitHub Copilot, IEEE Spectrum. and Software Engineering Workflows: Interactions and Implications. In
https://spectrum.ieee.org/ai-code-generation-ownership preparation.
[13] A. Cho. Hypothesis-Driven Development. [33] C.K. Lo. 2023. What is the Impact of ChatGPT on Education? A Rapid Review of
https://www.ibm.com/garage/method/practices/learn/practice_hypothesis_drive the Literature. Education Sciences 13, 4 (2023).
n_development/ https://doi.org/10.3390/educsci13040410
[14] M. Daun and J. Brings. 2023. How Will ChatGPT Change Software Engineering [34] R. Luckin and M. Cukurova. 2019. Designing Educational Technologies in the Age
Education? In Proc. 2023 Conf. on Innovation and Tech. in Comp. Sci. Education, of AI: A Learning Sciences-Driven Approach. British Journal of Educational
ITiCSE 2023, Vol. 1. June 2023. 110–116. https://doi.org/10.1145/3587102.3588815 Technology, July 21, 2019. https://doi.org/10.1111/bjet.12861
[15] Digital.ai, “16th State of Agile Report”, 2022, last accessed 12/10/2023. [35] B.D. Mittelstadt et al. 2016. The Ethics of Algorithms: Mapping the Debate. Big
[16] C. Ebert and P. Lourida. 2023, Generative AI for Software Practitioners, IEEE Data & Society 3, 2 (December 1, 2016). https://doi.org/10.1177/2053951716679679
Software 40 (4), 2023, 30–38. [36] R.S. Pressman. 2014. Software Engineering: A Practitioner’s Approach (8th ed.)
[17] R. Feldt et al. 2018. Ways of Applying Artificial Intelligence in Software McGraw-Hill, New York.
Engineering, In Proc. 6th International Workshop on Realizing Artificial Intelligence [37] A. Radford et al. 2019. Language Models are Unsupervised Multitask Learners.
Synergies in Software Engineering, RAISE ’18, May 2018, 35–41. OpenAI Blog. https://www.semanticscholar.org/paper/Language-Models-are-
https://doi.org/10.1145/3194104.3194109 Unsupervised-Multitask-Learners-Radford-
[18] M. Fowler. 1999. Refactoring: Improving the Design of Existing Code, Addison- Wu/9405cc0d6169988371b2755e573cc28650d14dfe
Wesley, Reading, MA. [38] F.G. Rocha et al. 2021. Enhancing the Student Learning Experience by Adopting
[19] E. Gamma et al. 1994. Design Patterns: Elements of Reusable Object-Oriented TDD and BDD in Course Projects. In 2021 IEEE Global Engineering Education
Software, Addison-Wesley, Boston. Conference (EDUCON), Vienna, Austria, 2021, 1116-1125. doi:
[20] V. Gadiraju et al. 2023. “I wouldn’t say offensive but…”: Disability-Centered 10.1109/EDUCON46332.2021.9453916
Perspectives on Large Language Models. FAccT’23: In Proc. 2023 ACM Conf. on [39] S.R. Schach. 2011. Object-Oriented & Classical Software Engineering (8th ed.)
Fairness, Accountability, and Transparency. June 2023, 205–216. McGraw Hill, New York.
https://doi.org/10.1145/3593013.3593989 [40] K. Schwaber and M. Beedle. 2002. Agile Software Development with Scrum,
[21] R. Gordon. 2023. Large language models are biased. Can logic help save them? Prentice Hall, Upper Saddle River, NJ.
MIT researchers trained logic-aware language models to reduce harmful [41] C.S. Smith. 2023. Hallucinations Could Blunt ChatGPT’s Success. IEEE Spectrum
stereotypes like gender and racial biases. MIT CSAIL, March 3, 2023. (March 13, 2023). https://spectrum.ieee.org/ai-hallucination
https://news.mit.edu/2023/large-language-models-are-biased-can-logic-help- [42] I. Sommerville. 2015. Software Engineering (10th ed). Pearson, London.
save-them-0303 [43] A. Uche. 2023. 5 Reasons Why Companies Are Banning ChatGPT (June 26, 2023).
[22] Y.J. Ha et al. Exploring the impact of generative AI on the future of teaching and https://www.makeuseof.com/reasons-why-companies-banning-chatgpt/
learning. https://cyber.harvard.edu/story/2023-06/impacts-generative-ai- [44] E. Wickens and M. Janus. 2023. The Dark Side of Large Language Models, Part
teaching-learning 2: “Who’s a good chatbot?”. Hidden Layer (March 24, 2023).
https://hiddenlayer.com/research/the-dark-side-of-large-language-models-2/
672