A.I. has been advancing in a very quick way over these past few years. With many different A.I. tools coming out with ChatGpt, Github Co-Pilot, Dall-E and many more. You’re able to ask questions and for it to give you answers, making it so you don’t have to search for many things. It’s a very interesting tool to use for many different things, and especially in software engineering. You’re able to try and type your general problem to get a fast explanation on what to do for your problem. Maybe not fully reliable all the time, but it can be way faster than having to go around and find the solution to your problem on the internet. Most of the classes you are going to take are going to say no to the use of A.I. in general. But recently I took a class that allowed and encouraged me to try and use A.I. to help you out. This class Ics 314 gave an introspective on how A.I. can be used for the Software engineering environment.
I have used AI in class this semester in the following areas:
Experience WODs e.g. E18: I have not used A.I. in this because in the experience WODs, you are usually given a screencast or Ideas on how to solve this issue making the use of A.I. not needed.
In-class Practice WODs: No use of A.I., mainly because if I get stumped, near the end of class the Professor will show a way to solve the problem or I could just see what other classmates have done and learn from that. Not really Wanting to use A.I. at the time.
In-class WODs: At first I didn’t use A.I. at all because I felt like it wasn’t worth it. Then at some point when I was stumped and didn’t know where to go on one of the later WODs, I went onto ChatGpt and asked it a question on a problem to see a general solution. WIth it I was able to solve the WOD thankfully.
Essays: No I did not use A.I. on essays, mainly because Im just writing to the world based on a prompt and I want it to be my own voice. Also Google Docs and many other writing applications already have some grammar and spelling checkers so I felt no need to use A.I. in this aspect.
Final project: I only used it sparingly to help solve problems I had been stuck on and could not find the answer too. I was stuck trying to get something to display the name of an item in the database and I had asked ChatGpt to help for the way to show it, and then I realized a small mistake in my code to solve it.
Learning a concept / tutorial: Some concepts I have used ChatGpt to help give an explanation on it, mainly understanding the coding for things like creating cards for meteor, how to change the color of a font in css when just changing it normally doesn’t work.
Answering a question in class or in Discord: I did not use A.I. in answering questions mainly because I usually don’t answer questions on discord or class because I don’t feel confident in my answer normally and I don’t want to use A.I. because the other person could have already just asked A.I. this question.
Asking or answering a smart-question: No use of A.I., mainly because I felt that you could just use the A.I. to help answer the question instead of making it get a better way to phrase your question.
Coding example e.g. “give an example of using Underscore .pluck”: Yes I have done this on multiple occasions. It felt nice to be able to ask small questions like this and get an explanation that is for me more easily readable than going through a database docs at times as well. It gives out examples that might be more applicable to you.
Explaining code: As explained in some prompts above, mainly used A.I., more specifically ChatGpt to explain many concepts and codes to understand how it works in the first place.
Writing code: I didn’t use A.I. to outright write code, big reason is i’m not fully trusting its going to work 100% of the time and I am there asking ChatGpt to help me understand a concept. I probably can’t even make a question to write code to the WODs fully.
Documenting code: Didn’t use A.I. to write documentation of my code. Mainly because the documentation I write is to help me understand my code first from when I come back to it.
Quality assurance: No use of A.I. because Quality assurance was not a high priority in many of the assignments in ICS 314.
Other uses in ICS 314 not listed above: Not really, it’s usually any of the things listed above. Other than that, I use A.I. to mess around with and have fun.
A.I. is a great tool to help people learning a subject to give them an extra not to understand something. Things like ChatGpt, can give someone a more easier to understand explanation of something. But like any tool there are limitations. Asking A.I. questions can only get you as far as their database has, for example, ChatGpt Version 3.5 has only up to January 2022, and 4.0 up to December 2023. So any new information past those dates the A.I. will have no data to give. Also data can be incorrect, like many code examples could just be plain wrong or give out things that can have big conflicts in the future. It’s good for explaining things easier but you have to just be careful what it tells and to check.
Giving out explanations for many different things, help write small bits of code. It shouldn’t be used to write a whole database or project by itself, but it can be used to help small parts you are having trouble with writing or understanding.
Not everything the A.I. is always correct or will help you in your problem. Sometimes the A.I. gives you code that does not work especially when working with custom codebases like meteor, mongoDb. Also for me some questions were not really able to be answered fully by A.I., because of how some questions I had involved how certain code works with others, and I different files, I don’t think I could just paste those into the prompt.
I think in the future it will be interesting to see how A.I. can be used In more classroom settings. It’s definitely a good tool to use for students, if used correctly, and used as a tool rather than a crutch. Because of how fast A.I. technology is growing, I think it is smart to teach students, especially in the Software Engineering field how to use A.I. to help them learn more. I think at its max potential, it can be used side by side with traditional teaching methods to help further boost students’ understanding and make it easier for them to learn new things in this field. But a problem I can see is the over reliance on A.I. to do there assignments and the less there going to remember if they can just ask Chatgpt the answer. It might not be as impactful and probably won’t stick in their heads as long.
A.I. is going to keep advancing at this rate, and it’s going to be used more and more in many fields, especially software engineering. But my concern as above is the over reliance it’s going to put on many newer software engineers. There are going to be more and more people that just ask A.I. to code for them rather than use it more like a tool. This can lead to many complications, like many things not working well together as a lot of the code created will be segmented and separate from each other.
The use of A.I. in ICS 314 was an interesting experience. I was able to see how A.I. can be used as a benefit to one’s learning and not just used as a way to solve all your problems in one go. It’s good to use in ways to help you understand things, not just write this code for me. I think it is good for classes to teach how to use A.I. more impactful to one’s learning.