Reflect On AI

20 Nov 2023

Introduction

In this essay, I explore the integration of Artificial Intelligence (AI) in education, particularly in Software Engineering while taking a lot of my own experiences into consideration. With AI’s emergence, it’s usage in education is undeniable, and for me in ICS 314, tools like ChatGPT, Bard, and Co-Pilot have changed the way I approach problems. AI, ChatGPT in particular, has played a huge role in enhancing my learning and understanding of software engineering concepts.

Personal Experience with AI

Through my software development course, I actively utilized AI in many different ways. My main approach was to treat AI as a personal tutor that can help provide me with clarification and guidance on a wide range of problems.

Impact on Learning and Understanding:

Personally, I think that AI has improved my overall learning experience. When utilized properly like an tutor/instructor, you have a source of information always at the ready to be used. At the same time however, using AI can lead to complacency and as a result impact learning negatively. As a result, I had to find a balance between getting help and figuring things out on my own as, for students especially, learning through the process is more important than getting the right answers at the press of a button. While I think that AI should be utilized, new software developers should be cautious in using it as self learning is a crucial step to take when first learning programming as a whole.

Practical Applications:

I think that for practical applications, AI can definitely be used effectively. For example, real world applications like in HACC. AI can be used as a partner for guiding users to practical and commonly used approaches to problems and issues while at the same time helping develop a structure to build on. Depending on the usage, AI can have a high level of effectiveness however if used carelessly can lead users down a rabbit hole where nothing works out.

Challenges and Opportunities:

The challenges/limitations of AI is the fact that it can’t do everything you want it to and sometimes is instead more of a guidance towards the right answer. For example, in a large scale program where a lot of files are considered, AI can only make assumptions and give you a response that it thinks is correct. As a result, the response end up being completely wrong and out of scope where if you would have just done it yourself you would be a lot better off. I think this provides a lot of room for AI to grow through it’s database/intelligence and its applications. If someone were to develop a software where AI can be utilized throughout entire projects thus enabling reference and allowing the AI to pinpoint mistakes and issues easier, AI would be a lot more powerful in software development.

Comparative Analysis:

In traditional learning, a lot of trial and error is taken into considerations like trying out codes over and cover while adjusting to meet requirements/criteria. With AI, you can almost skip that process and go straight to the solution. However, if you skip this process and just stick to the solution, you would get a lot less progress for your time and learn a lot less effectively.

Future Considerations:

As AI gets more advanced, you will be able to rely on it more heavily thus there will be a need to adhere to a lot more self discipline on it’s uses so that it does not too heavily undermine the process of self learning.

Conclusion:

I think that if used responsibly, AI can be a great augmentation to learning and progression. As the saying goes, with great power comes great responsibility. The more powerful AI becomes, the more careful people should be when using it. From the software engineering perspective, I think that AI should be utilized but students should be careful to use it responsibly as with too much reliance comes complacency. I think for future courses, AI should be discussed openly while at the same time instructors should encourage students to learn from it rather than rely.