To AI, Or Not To AI

07 May 2024


I. Introduction

Artificial Intelligence, in 2024, has become a useful tool in seeking information, data formulation, and autonomous redundant tasking. In education, it can be utilized to help a student with ideas, find solutions, structure an essay, and grammar check that essay, among many other things. In Software Engineering, AI is capable of writing code for simple applications, checking code, or giving possible solutions to an issue with an application. Though, due to the progressive complexity of an application as files increase and depending on design patterns, AI is limited by it’s data training model and the user prompts. The AI program that I use is Openai’s ChatGPT and the only times I have used any other software was when recommended to during class in ICS 314.

II. Personal Experience with AI:

I have used AI in class this semester in the following areas:

  1. Experience WODs e.g. E18 For the at home WODs, I never used ChatGPT since the video instruction usually gave the solution. So, after attempting the WODs, I would utilize the video to find the solution or if recommended to watch the video first, I would do so. Most of the at home WODs were straightforward and progressed at a good rate which allowed me to understand what I needed to do.

  2. In-class Practice WODs For In-class Practice WODs, I wouldn’t use AI since they wouldn’t affect my grade. This was so I could learn as much as possible from the assignment on my own.

  3. In-class WODs For In-class WODs, there was one instance where I used AI right off the bat with the intention of using the code for submission. Other than that one time, I would only use AI if it seemed like I wouldn’t be able finish in time and if it seemed possible to use AI on that particular WOD. This is how I was able to complete most of the In-class WODs. If the WOD seemed daunting and considerably difficult, a few times I used AI to see the a solution and how it was formulated then tried to work it out on my own.
  4. Essays I never used AI on any of my essays for ICS 314. I didn’t feel the need to do this and believe in my communication ability and enjoy building on my creative writing sense.

  5. Final project For the final project, I attempted to use AI to help in my issue of access to the admin role, but I was unsuccessful. I believe I was unsuccessful because of the level of complexity in the template Bowfolios that we used and the design pattern. This led to ChatGPT giving me generic guidance that I couldn’t figure out how to include in our code.

  6. Learning a concept / tutorial The only time I used AI in learning a concept or as a tutorial was when instructed to do so in ICS 314 class. My habit when trying to learn a new concept or as a tutorial will be to search the internet using google to find general information, then to use youtube, and finally if I still need more information then I will look for a class on Udemy.

  7. Answering a question in class or in Discord I only used AI for answering a question in class when instructed to do so.

  8. Asking or answering a smart-question I only used AI for answering a smart-question when instructed to do so, which I believe may have only been once. Any other time that I answered a smart question I already knew the answer or was able to search for the answer on google.

  9. Coding example e.g. “give an example of using Underscore .pluck” I have used AI when we were learning underscore. I believe this was one of the In-class WODs that I used AI for. I did not have enough time to study underscore as much as I would have liked, so I resorted to AI to assist me in finding the write syntax for what I needed to do.

  10. Explaining code I believe I’ve used AI to explain code once. I vaguely remember the experience, though I feel as though it was quite positive. I feel as though I remember it as a good experience and that ChatGPT was able to break down the explanation to very digestible pieces of information.

  11. Writing code For In-class WODs, I have used AI to write code. I would say about 50% of the time the code that ChatGPT wrote for me was helpful. Even if it didn’t always work, it would be helpful in terms of framing the code to potentially give me an idea.

  12. Documenting code If this means to “comment”, I have never used AI to document code. I haven’t thought of doing so, though this sounds like it would’ve been very useful for me. I will try to keep this in mind so I can use this strategy in the future.

  13. Quality assurance I’ve never used AI for quality assurance, simply because I didn’t think of the need to do so.

  14. Other uses in ICS 314 not listed above I have used AI to give me ideas for anti-burnout methods. I believe this was useful at certain points where over-working myself became a routine.

III. Impact on Learning and Understanding:

I believe that AI hasn’t affected my learning tremendously, because I will only use it when I am at a loss for direction on a solution. The use of AI has made me more efficient, most of the time and the concept of prompt engineering has given me a different perspective to consider. In terms of comprehension, I don’t believe that I have learned anything from AI that I wouldn’t be able to learn from google or youtube. In terms of skill development, I may have gained the insight of prompt engineering and a deeper ability to communicate precisely. In terms of problem solving ability, AI is another tool in the toolbox available and has its direct function. I use my own problem solving ability and AI as a means to solve the problem.

IV. Practical Applications:

I believe that AI can be used in literally any business now that technology has merged taken hold of the benefits from the industrial age. Whether it is using AI in order to gauge the conditions of a farm and customize watering soil or nutrients, a mom and pops store that needs help with marketing and could benefit from data on how to market, or an ice cream shop that is looking for new ice cream recipes or ideas. I believe practically any business can benefit from the use of AI. 

V. Challenges and Opportunities:

The challenges that I encountered using AI during the semester typically came with the assignments that had multiple files as it would make code pattern designs more difficult to incorporate. Though, by seeing the different design patterns and looking up online at stackoverflow.com, sometimes I would be able to come up with a solution by comparison. 

VI. Comparative Analysis:

  1. Engagement:
    • AI-enhanced approaches tend to offer higher levels of engagement compared to traditional teaching methods, as they leverage interactive technologies, multimedia resources, and personalized learning experiences to captivate students’ interest and motivation.
  2. Knowledge Retention:
    • AI-enhanced approaches have the potential to improve knowledge retention rates by providing adaptive learning pathways, spaced repetition, and targeted reinforcement exercises tailored to students’ learning needs and preferences. This personalized approach can help reinforce learning concepts and improve long-term memory retention.
  3. Practical Skill Development:
    • While both traditional teaching methods and AI-enhanced approaches can facilitate practical skill development in software engineering, AI-enhanced approaches offer advantages in terms of providing hands-on learning experiences, real-world simulations, and instant feedback on coding practices. This can help bridge the gap between theoretical knowledge and practical application, preparing students for real-world challenges in software development.
    • In summary, while traditional teaching methods have been foundational in software engineering education, AI-enhanced approaches offer innovative solutions to enhance engagement, improve knowledge retention, and foster practical skill development. By leveraging AI technologies and adaptive learning strategies, educators can create dynamic and personalized learning experiences that better prepare students for success in the rapidly evolving field of software engineering.

I used ChatGPT for this question because I felt that I lacked a good understanding on what AI-Enhanced teaching entails. From my perspective, AI-Enhanced teaching is practically the same as with traditional teaching methods except like having a TA, that is well versed in nearly everything and offers multiple perspectives, at your disposal. Apparently, AI-Enhanced teaching is a fantastic approach.

VII. Future Considerations:



“The future role of AI in software engineering education holds significant promise for transforming the learning experience, enhancing student outcomes, and advancing the field of software engineering. Here are some thoughts on potential advancements, challenges, and areas for improvement: Advancements:

  1. Personalized Learning:
    • AI technologies can enable personalized learning experiences tailored to individual students’ needs, preferences, and learning styles. Adaptive learning platforms, intelligent tutoring systems, and virtual mentors can provide customized learning pathways, targeted feedback, and adaptive assessments to optimize student engagement and performance.
  2. Hands-on Learning:
    • AI-powered virtual labs, simulation environments, and coding platforms can offer immersive and interactive hands-on learning experiences for software engineering students. These platforms allow students to experiment with coding, debug errors, collaborate on projects, and simulate real-world software development scenarios in a safe and controlled environment.
  3. Automated Assessment:
    • AI algorithms can automate the assessment and grading process for coding assignments, projects, and quizzes. Natural language processing (NLP) techniques, code analysis tools, and machine learning models can evaluate code quality, correctness, efficiency, and adherence to best practices, providing instant feedback to students and instructors.
  4. Predictive Analytics:
    • AI-driven predictive analytics can identify students at risk of academic challenges, dropout, or low performance based on their learning behaviors, engagement levels, and performance metrics. Early intervention strategies, personalized support, and targeted interventions can help mitigate risks and improve student retention and success rates.
  5. Curriculum Enhancement:
    • AI technologies can analyze industry trends, job market demands, and emerging technologies in software engineering to inform curriculum development and updates. AI-driven insights can help educators align course content, learning objectives, and instructional strategies with current industry practices and future workforce needs.

The challenges include Ethical Considerations, Access and Equity, Technology Integration. The areas for improvement include Interdisciplinary Collaboration, Human-AI Partnership, Continuous Evaluation and Improvement

In conclusion, the future role of AI in software engineering education holds immense potential to revolutionize teaching and learning practices, empower students, and advance the field of software engineering. By addressing challenges, promoting ethical considerations, and embracing interdisciplinary collaboration, educators can harness the transformative power of AI to create inclusive, engaging, and effective learning experiences for all students.”

I asked ChatGPT again because I don’t feel I have enough knowledge on AI education in order to speak confidently. Apparently, and similar to the comparative analysis, Chat GPT is likely to be highly beneficial to education in the future and the good seemingly outweighs the bad. The future holds a highly efficient and useful tool for future generations of students to utilize custom tailored programs befitting their learning style.

VIII. Conclusion:

Regarding the use of AI in ICS 314, I found it to be highly beneficial to think about, and even if I didn’t use it as much as I could have, I gained more experience through exposure to what is possible. I was able to learn about the practical uses of AI in a software application and a bit more about prompt engineering. I think it is quite incredible that we are in this time period, able to see a fraction of the birth and development of artificial intelligence.

I believe adding a few assignments specifically requiring the use of AI would be interesting. As we become more reliant on AI, it would give future students good insight as to how to better functionally use certain programs if they needed to complete well thought out assignments with AI that display the strengths and weaknesses of AI.