AI don't like it.

21 Nov 2023

Introduction

AI is prevalent in today’s Software Engineering field and used a lot in education. A lot of tools using AI are made for the sake of “boosting” productivity. For example, I just used Google Docs’ autocomplete feature that allowed me to finish this sentence with the press of a button, which is powered by AI, using the context of this sentence and tries its best to finish what it thinks I’m about to write out. It also gave some blue squiggly lines under some words used in the last sentence in order to correct my grammar or make the flow more better flow better. It’s a lot better and more efficient to write this essay with these tools than waiting for someone to peer review it and make sure it sounds good. It also makes us more lazy, auto-completing code and sentences without even checking it, which can be prone to error, but we don’t bother because robots can never be wrong, right? I have used AI before, using tools like Bing AI to complete hard math problems, or ChatGPT to help come up with ideas for projects. But I have not used it yet in ICS 314.

Using in ICS 314

Impact on Learning and Understanding

AI has had an overall positive impact on my learning experience. I can work a lot more efficiently, have concepts explained to me in a concise and simple manner, and have a (somewhat) reliable tool to help me whenever I need something. One of the best examples is Bing’s auto-generated search feature. Whenever you search something up on Bing, the first result is a summary of the first page index that it compiles into a short paragraph with links to the references it uses. It is very helpful since it combines the information of multiple sources into one single paragraph so that you don’t have to click on multiple links to find different pieces of information and try to combine them into one yourselves. I also like Bing AI because you can make it explain step by step what it’s doing for a problem that you give it, and it will force you to compute the problem yourself, which is very helpful in learning a problem without the answer being fed to you. This helps maintain skill development and comprehension without breaching the integrity of the problem. AI technology have definitely enhanced my view of software engineering concepts because of how easy it is to learn them now and how efficient they can be in helping develop your code and understanding.

Practical Applications

A lot of AI usage has been used to create many different projects and applications in the software engineering field. For example, Zoom and Slack and many other team communication services have an AI tool that summarizes a conversation or meeting that you had missed. This could save a lot of time for a person instead of having to nag your co-worker for a summary. Another example is machine learning which is used to create algorithms that curate the content you see on social media. One of the best tools that help with software engineering is Figma AI, allowing people to design a website and AI helps bring it to life by giving people code that matches the design. AI is really effective at making software engineering a lot more simple and efficient.

Challenges & Opportunities

The main challenge of using AI in this course is making AI cater to your needs. Most of the topics in this course can be done with an easy prompt, the main issue arises with the final project. Creating a specific prompt to make the AI create code to your needs is very hard, and even when it does, sometimes it won’t work within the parameters of your projects. I think integrating AI into education should be limited to a point where it needs to be used here and there and not used everytime they’re stuck. People need to develop critical thinking skills and still learn the fundamentals of software engineering without the reliance of AI. AI should be a tool, not a necessity.

Traditional vs AI Teaching Methods

Traditional teaching styles rely on exams and quizzes for testing knowledge. An example in the context of software engineering is reciting what each coding language does, looking and tracing code and answering what is wrong with it, or memorizing what each protocol does.It relies heavily on knowledge retention and memorization rather than developing a skill set. AI-enhanced learning relies on real-world problems and applications to test knowledge. An example of this is to create an application that addresses a real-world problem. This helps develop real world skills and allows people to apply the skills that they learned in the classroom. This also helps people collaborate with each other better, creating a better learning environment for everyone.

In the future…

I think AI can help better improve the education system and the process. The more applicable skills that people can apply in the classroom, the more well-rounded and skilled they are when they get into the workforce. Since AI is being used to better help productivity, instead of circumventing it and avoiding using it in the classroom, we can make a better education format like the flipped classroom, allowing students to learn and use those tools and skills to develop real world applications. An obvious misconception is that AI is always right. In the future when AI technology gets better, a big challenge will be creating assignments that don’t take 1 prompt in ChatGPT. There are more challenges that will emerge as time goes on but for now, it is still a gray area that needs a lot of tinkering with.

Conclusion

In conclusion, AI is a good thing for the software engineering field. It allows work to be done more efficiently and helps with productivity. Some really cool assignments can be done with AI, like creating a whole application done with AI, or recreating an AI prompt with code. It allows people to be more creative and free with their thinking, and enhances the learning process. There is no shame in using AI, it is a tool that can help you out. Finally, we should take advantage of what AI does, and use it to its full potential.