A Mind of Its Own

18 Nov 2023

Introduction

Artificial Intelligence (AI) is a very useful tool that can change education by redefining the way we approach learning and understanding. The use of AI in education can be used in any subject/topic to give students the information that they need to understand a topic, information that might not have been taught in class. AI can be used specifically in Software Engineering to assist developers to learn and understand coding concepts and languages. The AI tools that I have used is ChatGPT and Co-Pilot. ChatGPT is a chatbot that can be used to answer questions about any topic. Co-Pilot is an AI tool, used to assist developers while coding. I have used both of these tools to assist me in learning more about different subjects.

Personal Experience with AI

1 - Experience WODS

Through my experience with AI in WODs, I felt like I didn’t need to use it. Most of the time I didn’t feel the need to get help from AI because I felt like I should challenge myself. The times that I would use AI is if I was stuck or really needed help. For the experience WODs, I never used AI since there were screen cast on how to finish the WOD at the end and there was no time-limit.

2 - In-class Practice WODS

Similarly during In-class Practice WODs, I wouldn’t use AI to challenge myself and to try to learn concepts more by myself.

3 - In-class WODS

During In-class WODs, I only used AI when I was stuck or in a time crunch. I think that AI was really useful for WODs that involved writing algorithms, like the cities WOD where we had to use the underscore library to create two functions, one to find the average population of a island and the second to find the highest and lowest city populations. In this scenario, Co-pilot worked great by giving me a solution that worked, But In WODs where we had to set up a web page or create different features in an application (Ex: Buzz’s steak house), I found that it wasn’t very helpful because the criteria for the web page was more specific.

4 - Essays

I found that when I asked ChatGPT to write me an essay, It didn’t write a good essay, but I think it can be used to give you an outline, starting point or ideas. I don’t think it can be used to just copy and paste an essay.

5 - Final Project

I had the best experience with AI by asking for coding examples, asking what lines of code do and asking what problems I have in my code. When I had no idea on how to start or create a feature on my final project, I would use ChatGPT to give me an example code.

6 - Learning a concept / Tutorial

When learning a concept, I think AI is very useful. I never asked it to explain specific topics to me, but when I asked it to give me examples of code, I think it really helped me to learn a concept faster.

7 - Answering a question in class or discord / 8 - Smart Questions

I never really used AI to ask or answer any question from in class or in discord. Usually, if questions are posted into discord, there are usually people that are able to help, so I didn’t feel the need to use AI. Something that I wished I did is use AI to ask questions during class. I think it could be useful to understand a topic faster.

9 - Coding Examples / 11- Writing Code

Most of the time the example code didn’t work with my application, but it gave me a good starting point that I would be able to build off of.

10- Explaining Code

If there were lines of code I didn’t understand in the example code, I would ask ChatGPT what the lines of code do. I think it does a good job in explaining what code does. The explanation usually helped me understand the code and concept of the functions used better.

12- Documenting Code

A positive about the example code that ChatGPT gives is that it usually comes with comments that cover what each line of code does. This ties in with the AI explaining code and helping me to better understand the code or concept.

13- Quality Assurance

If I ever had errors in my code, I would try to figure out how to fix them on my own, But If I still can’t figure it out, I ask ChatGPT. Sometimes It would give me the correct solution, but most times the solution wouldn’t work. Through my experience of coding from ChatGPT, I think that it is a hit or miss, It either works or it doesn’t.

Impact on Learning and Understanding

Overall, I think the use of AI has had a positive impact on my learning experience. I think it was especially useful in ICS 314 since lectures aren’t taught using traditional teaching methods. Since the class is taught in a sort of “flipped” style, we decide when we watch the lectures and I think AI can help us if we need examples or clarification on any concept that we are learning. It has definitely helped me in this class to have a better understanding of the concepts that we’ve learned.

Practical Applications

Beyond the use of AI in ICS 314, AI definitely has use in real-world projects, simulations and collaborative activities. I think AI can enhance efficiency and precision of a software engineer. AI can be used to help developers with simple tasks, but when solving more complex tasks / problems, their effectiveness drops significantly. In sectors like simulation and software testing, AI can be very useful, to analyze patterns in datasets to predict potential system failures or bugs.The use of AI application in real world challenges can help with project efficiency. AI has the potential to revolutionize software engineering.

Challenges and Opportunities

The biggest challenges with AI is that it is sometimes inaccurate. If a problem is too complex, or not enough information is given, the AI’s answer will not be accurate. This is a downside of using AI, but I think it’s important to not be reliant on using it for every task. One way AI can be further integrated into software engineering is by having module or reading about how students can use AI effectively to get the answer that they want.

Comparative Analysis

I think AI enhanced approaches to learning can have better engagement and faster knowledge retention. But, traditional methods of learning allow for a deeper understanding of the content and allow for refining of practical skills with hands on experience.

Future Considerations

I think AI can play a big role in assisting software engineering education. The biggest advancement that AI gives to software engineering is the ability to easily get an answer to a problem. I think AI can be used to help students learn and understand concepts better. The challenges and areas for improvement of AI is that it is not always accurate. Which could result in students getting the wrong answer, which would not help them at all. Once AI becomes more reliable, I think it will be a great tool to use in education.

Conclusion

In conclusion, I think that AI is a great tool for education. I think it can be a very useful tool for students to learn concepts quickly, but it is important to not be reliant on AI because of the inaccuracy and it doesn’t promote deep understanding of topics, which could be bad in the long run. I think AI can be used in the future as a supplement to traditional learning methods. I think a mix of both would offer a great learning experience for students. I’m not sure on how to integrate it into future courses, but I think the use of AI is very helpful.