The use of AI in education has often been viewed negatively due to its potential for facilitating plagiarism across various subjects. For instance, entire essays can be composed by these language models, which may prevent individuals from expressing their own opinions, theories, or research. While these essays might sound eloquent and convenient, they are not always accurate, and the explanations provided may slightly distort the intended message. In my experience in ICS 314, the use of AI has been enlightening as we explored its applications as a software development tool without becoming overly dependent on it. Personally, I have used ChatGPT in this class to help find solutions to challenging problems. It has introduced new approaches to problem-solving and provided code blocks that invariably require verification and a thorough understanding of the generated content. ChatGPT has also been invaluable for proofreading essays and occasionally suggesting better ways to express certain ideas, much like its assistance with coding.
I have used AI in class this semester in the following areas:
Experience WODs
I chose not to use AI for the experience WODs, opting to tackle the challenges directly and learn from the accompanying screencasts. This approach helped me understand the concepts more deeply by relying on my own problem-solving skills.
In-class Practice WODs
For these practice WODs, I deliberately avoided using AI to maximize my hands-on learning experience. This method allowed me to face the raw challenges presented in the course, enhancing my practical skills.
In-class WODs
Initially, I challenged myself by not using AI to solve in-class WODs. However, as the semester advanced, I encountered difficulties, especially with UI design tasks where precise requirements were hard to communicate to AI, often leading to incomplete tasks. I found that the UI Design (Frameworks) and (React) WODs were especially difficult even with using AI.
Essays
I avoided using AI to draft essays to prevent plagiarism and ensure academic integrity. Nonetheless, I sought AI assistance for refining phrases and improving sentence structures, which helped enhance the clarity and flow of my writing.
Final project
While I have tried using AI in our final project, I found it challenging due to the complex design patterns in Bowfolios, our reference project. The only situations that it has helped me has been with debugging. For example, I was missing a bracket in my settings.json but could not figure out where the error was originating from. When I entered the file to check for errors, it immediately pointed the missing bracket out and fixed my issue.
Learning a concept / tutorial
I chose not to employ AI for learning specific concepts or tutorials, instead utilizing the extensive educational resources provided in the course. This ensured a solid foundational understanding through traditional study methods.
Answering a question in class or in Discord
I used AI only when we were encouraged to see how it would respond. For example, our last day of class, we discussed an ethical dilemma in coding with Sara and Charlie. After some discussion, we were encouraged to see how ChatGPT would respond to this prompt. In response to whether or not it was ethical, ChatGPT responded that, “promoting Charlie over Sara, in the absence of a clearly justifiable and transparent rationale that aligns with ethical standards of fairness, consistency, and bias mitigation, is likely unethical.”
Asking or answering a smart-question
I avoided using AI for smart-questions, seeing little value in having AI generate questions that I could formulate myself. Moreover, I did not use AI to answer others’ questions, preferring personal interaction and doing my own research. The asker hopefully has already tried posing the question to ChatGPT or another AI language model otherwise it would not be a “smart-question” as they did not do all they could to search for an answer before asking.
Coding example e.g. “give an example of using Underscore .pluck”
Another example of using AI this semester was when I had a “TypeError: Cannot read property ‘userPublicationName’ of undefined’. I asked ChatGPT what could be the cause of this along with the file that the error was originating from and helped me realize that my import statement was not properly defined.
Explaining code
In most cases, I did not resort to AI for explaining code, instead using course materials or direct documentation, which often provided clearer and more context-specific explanations. But I remember using it to help me understand Underscore by asking how the functions work.
Writing code
Sometimes I used AI to help start coding in WODs, but this wasn’t always effective for more complex tasks.
Documenting code
I did not use AI for documenting code, as I found it unnecessary for understanding the logic and structure of my work.
Quality assurance
It never occurred to me to use AI for quality assurance tasks, as I did not perceive AI as reliable enough for thorough testing and debugging.
Other uses in ICS 314 not listed above
The only other scenario where I used AI was in proofreading emails, which helped polish my professional communication by suggesting clearer and more effective wording.
Integrating AI into this class has profoundly altered my approach to problem-solving, particularly in debugging where AI tools quickly pinpointed issues like a missing bracket in settings.json. This not only saved time but also enhanced my understanding of common pitfalls in coding. Moreover, AI’s ability to provide instant feedback on code helped me better understand complex libraries such as Underscore.js, facilitating a quicker grasp of functional programming concepts. AI’s role in offering solutions and explanations has made the learning process more interactive and responsive, which is critical in a fast-paced educational environment. As AI continues to evolve, its potential to provide even deeper insights and more tailored learning experiences is immense, promising to significantly enhance educational outcomes in software engineering and beyond.
The practical applications of AI in our ICS classes have been varied and enlightening. AI has proven particularly useful in areas requiring rapid feedback, such as debugging and iterative design processes in software development. By integrating AI selectively into certain segments of the curriculum, students could benefit from its strengths without becoming overly reliant on it. For example, using AI to troubleshoot code in real-time could free up more time for students to focus on creative aspects of software development. Moreover, encouraging the use of AI in complex project settings, where quick error resolution is beneficial, could improve project outcomes and student satisfaction. Overall, incorporating AI thoughtfully into the curriculum can enhance both the efficiency and depth of learning.
One of the main challenges faced this semester was integrating AI into complex projects like our work with Bowfolios. Although AI was helpful in debugging, it struggled with the intricate design patterns and architectural complexities of large-scale projects. This highlighted the limitations of AI, particularly in contexts requiring nuanced understanding and creative problem-solving. However, these challenges also present opportunities for improving AI tools and teaching methods. For instance, refining AI to better handle complex architectures could significantly enhance its utility in educational settings. Furthermore, incorporating AI as a complementary tool rather than a primary solution can prepare students to use technology effectively in their future careers.
Traditional teaching methods in software engineering are essential for establishing a strong foundation in basic principles and practices. However, they can sometimes lack the interactive and engaging elements that stimulate deep learning. AI-enhanced approaches like using ChatGPT have introduced a dynamic aspect to the learning process, offering personalized and responsive educational experiences. These methods not only increase student engagement but also adapt to individual learning styles, making education more inclusive and effective. A balanced educational strategy that combines the reliability of traditional methods with the innovative potential of AI can provide a comprehensive learning experience that prepares students for the challenges of the modern technological landscape.
As AI continues to advance, its integration into various educational fields holds tremendous potential. Beyond ICS, AI can be a transformative tool in disciplines ranging from mathematics to history, aiding in everything from complex problem-solving to data analysis and historical research. Educators should consider AI not just as a technological aid but as a fundamental component of the learning environment that can enhance critical thinking and creativity. However, it is crucial to ensure that AI is used ethically and responsibly, enhancing educational experiences without replacing the essential human elements of teaching and learning.
AI tools like ChatGPT have proven invaluable in enhancing the learning process within our ICS 314 course, offering both practical assistance and profound insights into complex concepts. The integration of AI has not only made learning more efficient but also more adaptable, catering to diverse educational needs and styles. As we look to the future, the potential for AI in education appears boundless, with opportunities to further enhance engagement and understanding across a wide array of disciplines. However, as we embrace these advancements, we must also remain vigilant about maintaining academic integrity and ensuring that AI serves to support, not supplant, the educational process. The thoughtful integration of AI can undoubtedly revolutionize educational methodologies, making learning more personalized, efficient, and impactful.
ChatGPT was used to enhance the language of this essay.