AI in Software Engineering: A New Teaching Paradigm

21 Nov 2023

I. Introduction

The emergence of AI can be said to be a new field of technology, and with the continuous progress of AI, it has brought us a major change in the way of educational content delivery and student learning, making learning more interactive and efficient. In software engineering education, AI is more helpful to help create a more interesting learning process, such as understanding complex concepts, coding problems, and learning, detecting issues, and giving feedback and assistance.

When I heard that the professor allowed us to use ChatGPT in homework and WOD, I was very surprised at first, because at that time many professors resisted and opposed using ChatGPT in the course. However, after using ChatGPT for a period of time, it had a lot of impact on my learning experience. I also understand why the professor let us use ChatGPT. As an AI, it can do many things for us in the form of a tool, such as understanding complex concepts. I often ask ChatGPT to explain complex concepts to me that I don’t understand very well, especially let it give me a few examples to help me better understand and learn. Whether providing advice or guidance, AI has played a certain role.

II. Personal Experience with AI

Experience WODs

I did not use AI in experience WODs, because the video accompanying the assignment was clear enough to explain and teach you how to complete the task, and I also thought it was easier for me to learn and remember the knowledge by completing the task step by step manually.

In-class Practice WODs

I have never used AI in In-class Practice WODs. I think this is an opportunity to verify my learning results, and to know what knowledge I need to review through the problems I encounter in Practice WODs.

In-class WODs

In In-class WODs I did use AI for some of the initial WODs to help me code, but as WOD became more difficult and the suggested code from AI became unstable and inaccurate, I eventually decided not to use AI for some of the later WODs.But when I get stuck on certain problems, I will ask the AI to help me solve the problem.

Essays

ChatGPT has been of great help to me in Essays, helping to expand my writing ideas so that I can get started quickly.

Final project

I have not used AI in the Final project right now, but if I have a problem I will ask the AI to help me, and give me some advice.

Learning a concept / tutorial

I often use ChatGPT to explain concepts I don’t understand and to show a few examples for me to understand.

Answering a question in class or in Discord

Without the use of ChatGPT, I think answering a question in class or in Discord should be more of an answer derived from your personal experience and understanding

Asking or answering a smart question

I use ChatGPT to solve those smart questions, to guide and assist me in solving some of the problems I have.

Coding example

I do use ChatGPT in Underscore.js to ask ChatGPT for explanations and give examples for some functions, to make it easier for me to understand and use.

Explaining code

I do use ChatGPT in Explaining code, helps me learn how to explain code more efficiently and concisely.

Writing code

I do use ChatGPT in Writing code, helps me to check whether my coding is correct from different angles and solve problems.

Documenting code

I did not use ChatGPT in documenting code. I think it’s easier for you to understand and verify what code you’ve written by writing the documenting code on your own.

Quality assurance

By using ChatGPT in Quality assurance, I can save a lot of code review and improvement time, and I can find problems faster.

III. Impact on Learning and Understanding

AI has indeed influenced my learning style and improved my efficiency in understanding some complex concepts, principles, and functions. you can get an in-depth and targeted explanations and answers from AI. Code suggestions also accelerated my coding process and I learned new programming skills and practices from it. At the same time, by seeing how AI solves and thinks about problems, I also learned how to solve problems in a more flexible and multi-angle way to find answers.

But overuse of AI also has certain risks, which may limit my ability to think independently and solve problems, rely more on using AI to solve problems than by relying on myself, and the solutions provided by AI may not be completely correct, you need extra time to verify and try the right answer, this brings some challenges.

IV. Practical Applications

AI has been widely used in many practical fields. For example, code quality and maintenance, by using AI to find errors and optimize opportunities, greatly reducing the need for manual inspection and inspection time, improved efficiency.

AI has played a role in the development process of many projects such as HACC, in the early development of many projects, AI can quickly provide a variety of unique ideas and creativity to help you get started quickly, while in the coding process AI can provide data analysis, pattern recognition and automation recommendations to promote the development of more effective solutions.

V. Challenges and Opportunities

Challenges When AI is used in the curriculum, many times the solutions provided by AI are not accurate enough, requiring multiple additional human interventions before it is possible to finally get the right answer. Over-reliance on AI can lead to a decline in the ability to understand concepts and solve problems. At the same time, some incorrect data input may lead to the generation of misleading answers, which may further mislead student‘s learning and understanding.

Opportunities The AI can customize a unique learning pace, asking the AI for certain unique topics or concepts to gain a deeper explanation and understanding. You can get immediate AI help and feedback, get guidance and help during the coding process instead of waiting to ask the teacher the next day. AI can also expand teaching resources and access more rich and diverse learning materials.

VI. Comparative Analysis

Engagement Traditional teaching methods rely more on a teacher’s guidance ability and teaching style, while engagement may vary according to student’s classroom participation and interaction. Higher participation and interaction may make teachers work harder to guide students and communicate, and face-to-face guidance promotes a stronger sense of participation. AI-enhanced approaches rely more on providing personalized learning and interactive content. The AI learning style can increase student’s interest and involvement.

knowledge retention Traditional teaching methods rely on memorization and regular review, and knowledge retention depends on student’s learning habits and teacher’s review strategies. AI-enhanced approaches provide customized review and practice based on the student’s performance and progress, and through data analysis, the AI can learn which concepts the student needs to focus on review and practice.

practical skill development Traditional teaching methods require laboratory work, projects, and internships provide opportunities for practical application of theoretical knowledge, but may be limited by resources. AI-enhanced approaches can provide virtual labs and simulated environments that mimic the real world to practice and test skills in a controlled environment.

VII. Future Considerations

With the upgrading and development of AI technology, we should obtain higher and better-personalized learning, and accurate analysis of each student’s learning style, progress and understanding. Adapted to their learning speed, with more customized learning materials and instruction, AI will become more intelligent, providing real-time and precise guidance and advice to help students make better decisions. The accessibility and equality of technology and the privacy and security of data may face challenges. Enabling all students to have equal access and use in the context of uneven resource distribution, and ensuring data security and compliance may be one of the challenges ahead. At the same time, instructors may need to consider adjusting the curriculum to accept and use AI appropriately and have a full understanding of AI.

VIII. Conclusion

The integration of AI in software engineering education provides a unique opportunity to enhance the learning experience, personalize education, and provide students with relevant skills, but I think more of AI should be used as a tool, reasonable use of it can make you get twice the result with half the effort, but excessive reliance on AI may result in your ability to get no exercise or even decline. The existence of AI is inevitable, and we need to find a balance.