Abstract

The use of generative artificial intelligence (GenAI) tools such as OpenAI’s ChatGPT and GitHub’s CoPilot is increasing substantially across industries, especially among software developers. ChatGPT, which is a large language model, and Copilot, which is a code generation tool built on OpenAI’s Codex platform, have changed the way developers create software. In the past, software developers utilized various tools for tasks such as code generation, versioning, analysis, debugging, and testing. However, many of these tools now integrate AI LLMs. Students also are starting to experiment with these GenAI tools in their classwork. To adapt our teaching methods to the way current developers, create code and build software, we explored research on the inclusion of these GenAI tools in teaching software fundamentals. We learned there were many benefits in the inclusion of these tools such as exposure to industry AI tools, more focus on software theory and problem solving, and self-directed student learning. We created a list of strategies for teaching software within IT curriculum with GenAI tools to include (Gumina, et al., 2023): • Add an AI inclusion policy statement in the syllabus specifying the use of these tools. • Develop projects with unique contexts and personalization. • Require a 3-step approach to assignments using AI tools to include: o system decomposition, functional programming, and program refinement. • Spend class time on teaching best practices in prompting AI tools. • Require validation and verification of code. • Require student demonstration and explanation. After implementing these strategies in our courses, we noticed improvements in student learning outcomes. We learned that including an acceptable use policy for GenAI tools in the syllabus and in the assignment instructions encouraged students to use these tools. By spending time in class on best practices in GenAI prompting, students were able to reduce the time it took to get good results. The use of GenAI tools reduced the barriers for many students beginning an assignment. In the past, many students had a difficult time executing their ideas in program code. Collaborating with these tools helped students overcome the barriers by helping them brainstorm ideas and get over that first hurdle of writing code. The unique context and personalized assignments led to more creative outcomes and new ways of creating code. The tools also encouraged students to try more challenging programming concepts. These tools also were used by students for debugging and problem solving their code, which led to a better understanding of the software they were creating. Students were able to clearly explain their code during demonstrations. There were some challenges that arose from the use of these tools including code with logic errors, not being able to create larger sets of code, and getting the code from the tool to work correctly in the IDE.

Share

COinS