The expansion of AI continues to integrate within the educational experience. In an environment of learning where concepts move faster than the content provided. AI is useful in bridging the gap between time and effort. In the realm of software engineering the utilization of AI may be practiced the same. That is in expediting processes in finding solutions for complex problems. As well as delivering structured navigational guidelines through solutions for deeper understanding. The AI tool which I have used is ChatGPT.
I have used AI in class this semester in the following areas:
Experience WODs e.g. E18
When working to complete experience WODs, at times I did request solutions from AI when I couldn’t resource the information for myself. Although AI often provides useful solutions, I find that fact-checking AI is also necessary. And so when it came to doing experience WODs at home, it was better to use the course resources or online forums for a more constructive learning experience.
In-class Practice WODs
For in-class practice WODs I was able to focus with less pressure, and stress of timed WODs. I did not always turn toward AI for these sessions in which I could research on my own or ask a peer in class.
In-class WODs
Calling upon AI for assistance during timed WOD exercises became useful for me. However, utilizing AI can create its own challenges because its responses can easily stray away from reasonable solutions, taking time away from completing the WOD. I found ChatGPT useful when looking for errors, and in correcting format for legible program writing.
Essays
I did not use AI for assistance in composing or correcting essays.
Final project
In completing certain sections of the final project, I found AI to be useful when tyring to write code in places that had been built by a different group member. An example to this is adding code into parts of the program written by someone else. I was having some confusion about the structure of the provided code. AI was helpful in deciphering and to find the best way I could implement my work without disruption.
Learning a concept / tutorial
I found AI helpful in learning concepts, but I did not use it for a tutorial. When it comes to learning concepts, asking questions to understand specific things were useful. However, I wouldn’t solely rely on the answers that AI provides but would use it as a starting point for what I should look into further elsewhere. I do not find AI responses to be absolutely reliable.
Answering a question in class or in Discord
Having to answer a question in class or in Discord using AI was not apart of my experience this semester.
Asking or answering a smart-question
Asking or answering smart-questions was not a prompt I would have utilized AI for.
Coding example e.g. “give an example of using Underscore .pluck”
There were probably moments I sought the opinion of a coding example from AI, but I know because of experience that using AI to create examples actually creates more confusion. Especially when learning formats and expectation is different than what ChatGPT would consider a solution. Best to stick to the lesson plan and source documentation for reliable solutions.
Explaining code
I have used ChatGPT to explain some coding concepts. Most recently in understanding app communication between client and server.
Writing code
This response is in line with some of my other reasons to why I would exercise use of AI. When it comes to writing code, and in the pace of learning throughout the semester. I have found AI useful in developing understandable guidelines to better digest new material, saving me time to focus on projects.
Documenting code
I did not use AI to specifically compose documentation of code. Yet it was useful in understanding parts of code, which I would use that information to form my own documentation.
Quality assurance
There was not any need to use AI for quality assurance. IntelliJ prompted these necessary fixes within the IDE. Trying to integrate AI solutions had the potential to create other issues, and so quality assurance was best guided by the standard of the IDE compared to AI solutions.
Other uses in ICS 314 not listed above
If I were to use AI outside of ICS 314, it would be to generate initial research of a topic. Yet of my overall experience, I do not consider AI to be reliable. Only useful to begin a general search for terms and ideas of what to look into to understand something better.
Using AI has enhanced my learning experience through its assistance in presenting information that isn’t readily available. As mentioned, although extended research is necessary, utilizing AI has been helpful by enhancing my learning potential. I understand that there is also the risk of creating a sense of reliance upon AI solutions, and so to maintain my own comprehension and skill development I intentionally try to keep AI as a last resort resource. Any challenges it has presented are probably for the better because it pushes me to seek more reliable answers knowing that AI is not always right.
There are surely many benefits to implementing AI into real-world projects, etc. Discoveries have been made improving medical advances, and others in forensics as well as software development. Utilizing AI to conquer challenges may be an efficient approach. Yet I stand by my own experience, and that is, regardless of the solution further research is necessary. Without connection to that knowlege we can become a victim of what was never understood by our own hands.
AI has potential in being a learning resource if approached with a focused question. Otherwise it becomes a rabbit hole of information that pulls you further from a possible answer. The opportunity is that it is possible to learn certain things faster through generalized responses. Yet the challenge is that often the responses are repetative and not quite substantial, and so further research is required.
Traditional teaching methods are greater than AI-enhanced approaches. Personally, I prefer to engage with my learning experience in a class setting and amongst peers. AI mainly helped with learning things that I would have wanted to spend more time understanding in class. Through my experience in using AI for learning I did not find it to be practical in skill development.
Integrating AI in software engineering education may be useful with practical implication. Otherwise reliant programmers may trend themselves out of being reliable employees. Advancements in learning can be embraced where complex learning is met with time constraints between modules within a semester. Ethical challenges arise regarding quality of work, and its origin.
From my current experience in using AI, I think that it has a place in the learning experience of software engineering. However it should not replace the traditional learning methods (just yet). I find it to be an enhancing tool to usher learning of concepts but still requires extended research. I imagine that other AI tools will be developed and may adhere to traditional practices moving me to later dismiss my own current opinion. Such tools would optimize learning potential in ways that bridge the gap in learning within fast-paced environments.