I was shocked when we were allowed to use AI in our assignments and homework. Many professors are so against the use of AI tools and I understand why, but Professor Moore understands that the learning is our responsibility. If we use AI and it inhibits our learning, thats on the students. If we use AI and it helps us learn and progress, better to us. I think more professors should research how AI can help students learn efiiciently.
In ICS 314, my experience with AI tools was diverse and insightful:
Experience WODs: I didn’t need AI as much on the homework WODs. The tutorial videos that came along with them were more than enough to unstump me when I got stuck. AI was useful when I had a problem that wasn’t covered in the video. Such as setting up an environment, updating Node.js and more.
In-class Practice WODs: AI was crucial in fixing errors and enhancing understanding. It explained why certain errors occurred, which was invaluable for learning.
In-class WODs: AI acted as a co-pilot, speeding up project setups and debugging. It provided templates and detailed explanations, enhancing my learning experience. On the first couple of WODs I tried doing the problems as much as I could and remember what I learned, but as many other students come to realize that it’s extremely difficult for the average college student to perform well in one class when you’re dealing with 4 others, especially when those classes have no interest to you. AI helped me keep up my grade and to help me learn to solve problems, even though it would be better to sit down for hours to study.
Essays: Writing is difficult. And if I’m being honest it’s a bummer that colleges require you to taking so much writing courses that don’t even apply to your major. Most of the time I am able to summarize my thoughts into 1 simple paragraph, but when you have to write 5 pages about a topic thats not apart of your everyday life, thats where you fall short. AI has helped me to expand my thoughts and to give me more ammo when it comes to writing.
Final Project: AI is a big help is the final project. The final project where we have to build out our own website ideas is awesome but a lot harder than the WODs. The WODs were challenging, but they always had a solution and instructions you could follow. With the final project, you actually have to problem things you haven’t encountered before. AI plays the role of a TA. When the teacher is unavailable, you go to the TA for some help. They might not always be right but they can help.
Learning a Concept / Tutorial: Initially, I relied heavily on AI, but as my understanding improved, I gradually started relying more on my skills. For example, when building the containers, columns, and rows. I used to have AI build it for me and when it messed up I would complain to ChatGPT to fix it or move it over a little bit, but now I don’t have to do that. I can do it faster by fixing the code or rearranging the elements. I also know how to link the elements to the css file through classNames and Ids, all on my own.
Answering Questions in Class or Discord: AI’s Role in Providing Answers: AI provided accurate answers to student questions in class or on platforms like Discord, demonstrating its usefulness as an educational tool. However, AI sometimes lacked the specific context or depth required for more complex or nuanced questions, limiting its effectiveness. In scenarios like a Discord channel, when students faced difficulties, teaching assistants often referred them to AI tools like ChatGPT, indicating a growing reliance on AI for initial problem-solving. Despite AI’s accuracy, there was still a need for human insight, especially for in-depth understanding and context-specific advice, which AI could not fully replicate.
Asking or Answering Smart-Questions: AI could efficiently provide correct answers to many questions, showcasing its vast knowledge base and quick retrieval capabilities. However, AI’s responses often lacked the depth and insight that comes from human interaction and experience. While AI was useful for straightforward queries, it couldn’t match the nuanced understanding and critical analysis provided by human experts. AI’s role in answering questions was best viewed as complementary to human interaction, providing a starting point rather than a complete solution.
Coding Examples: AI proved to be a valuable resource for students learning to code, offering practical examples and clear explanations of specific functions. AI’s ability to generate coding examples helped students grasp concepts more quickly and see real-world applications of theoretical knowledge. AI tools were particularly useful in providing examples where textbooks or traditional resources might have gaps or lack clarity. While AI provided useful examples, it was important for students to also engage in manual coding to fully understand and internalize the concepts.
Explaining Code: AI excelled in making complex code understandable, akin to translating a foreign language. I would use it to help me explain what a certain block of code does. It would break it down line by line, word by word, and it helped me see how everything connects. The only pitfall is that it doesn’t have enough memory to memorize pages and pages of code. That makes it difficult for ChatGPT to help in some circumstances because it would need to be able to see the different pages in order to grasp the bigger picture
Writing Code: AI was a helpful guide, suggesting different approaches and helping me think through problems. ChatGPT is able to write clean, documented code that worked. And if it didn’t work it would correct itself and tell you why it was wrong. The downside of ChatGPT writing code is that it doesn’t like to give you full code. It often abbreviates sections or cut out parts of the code entirely. It becomes a challenge to peace together the imporovements suggest by ChatGPT.
Documenting Code: Leveraging ChatGPT’s capabilities for code documentation streamlines the process by providing comprehensive explanations and comments for code segments. Developers can easily request code comments, documentation generation, and code examples, improving the clarity and understandability of their codebase. ChatGPT’s ability to suggest better variable names and code structuring enhances code readability. Additionally, it offers best practices, code review guidelines, and integration with documentation tools, facilitating efficient and effective documentation practices in software development.
Quality Assurance: AI demonstrated effectiveness in pinpointing problems in software engineering, enhancing the accuracy and speed of quality assurance processes. Despite its efficiency, AI’s suggestions often required human verification to avoid the incorporation of erroneous or inappropriate solutions. One of the challenges with AI in quality assurance was the occurrence of false positives and negatives, necessitating careful review to ensure reliability. It became crucial to integrate AI into quality assurance in a manner that complemented human expertise, rather than replacing it, to achieve the best results.
Enhanced Understanding: AI tools made comprehending complex concepts easier. AI enabled personalized learning experiences, adapting content to fit individual learning styles and paces. With AI, students had access to more interactive and engaging materials, which helped in understanding complex subjects more clearly. AI provided instant feedback on assignments and quizzes, aiding in quicker learning and understanding of concepts. AI tools helped break down complex topics into manageable segments, making it easier for students to grasp challenging concepts.
Problem-Solving Skills: Improved, though reliance on AI was a concern. AI tools exposed students to a variety of problem-solving methods, enhancing their analytical skills. While AI offered solutions, it also encouraged students to engage in critical thinking by exploring different approaches to a problem. There was a growing concern that students might become too dependent on AI for answers, potentially hindering their ability to solve problems independently. Educators faced the challenge of using AI to enhance problem-solving skills without compromising the development of independent thought processes.
Skill Development: Balancing AI’s assistance with personal skill growth was challenging. AI tools provided valuable support in learning new skills, offering tailored resources and guidance. Finding the right balance between AI assistance and independent skill development was a critical aspect of effective learning. While AI was helpful, it was essential to ensure that students also developed critical thinking and problem-solving skills on their own. The goal was to use AI as a tool to prepare students for future challenges, not just to provide immediate answers.
Traditional vs. AI-Enhanced Learning: AI adds engagement but also presents challenges in dependency and skill retention. AI-enhanced learning methods were more engaging but risked creating a dependency, potentially impacting students’ ability to retain skills independently. AI tools were most effective when used to complement, rather than replace, traditional teaching methods. AI introduced diverse and innovative learning experiences, but it was crucial to maintain a core of traditional educational methods. The challenge lay in balancing the interactive and engaging nature of AI with the depth and thoroughness of traditional learning techniques.
Future Role of AI: Balancing AI’s potential with the need for fundamental skills is key for the future of software engineering education. The future of education in software engineering will likely involve integrating AI in a way that enhances, rather than diminishes, fundamental skill development. Educators need to adapt their curricula to include AI as a tool for learning, while also focusing on core software engineering skills. Students must be prepared for a future where AI plays a significant role, requiring both an understanding of AI and solid foundational skills. The key challenge will be to balance the exciting possibilities of AI with the necessity of strong, fundamental software engineering skills.
Reflecting on my use of AI in ICS 314, the experience highlights AI’s potential as a powerful educational tool. It’s crucial to use AI to augment learning while preserving the essential skills and critical thinking processes in software engineering. Finding the right balance will be pivotal in leveraging AI’s capabilities in future educational contexts.