Not Just Autocomplete: The Real Impact of AI on My Coding Journey

05 May 2025

Not Just Autocomplete: The Real Impact of AI on My Coding Journey

Artificial Intelligence (AI) is revolutionizing education by providing students with tools and methodologies to enhance learning and problem-solving. In software engineering, AI offers opportunities to accelerate coding, debugging, and understanding complex concepts. During ICS 314, I explored various AI tools, including ChatGPT, Bard, and GitHub UH marketplace which helped me tackle challenges in writing code, understanding new concepts, and debugging. This essay reflects on my experiences using AI throughout the course, examining how it shaped my learning and application of software engineering principles.  In ICS 314, AI played a pivotal role in various course components, from Work-Out-of-the-Day (WOD) exercises to the final project. For example, during an E18 WOD focusing on functional programming, I used ChatGPT to better understand underscore.js methods. Prompting it with “Explain how to use _.map to transform an array of numbers,” I received a foundational example that helped me adapt to the specific WOD requirements. While the AI provided valuable starting points, it often necessitated additional effort to meet the unique demands of the exercises.  Practice WODs further highlighted AI’s ability to clarify syntax and concepts. For instance, querying “What’s the difference between let, const, and var in JavaScript?” provided concise answers that reinforced my understanding. However, timed in-class WODs discouraged reliance on AI due to the need for immediate problem-solving and independence. This decision, although challenging, fostered greater confidence in tackling coding challenges on my own.  Essays offered another avenue to leverage AI effectively. Drafting an essay on Agile methodologies, I employed Bard for outline generation and ChatGPT for refining technical language. These tools streamlined my writing process while ensuring the content remained authentically mine. Similarly, in the final project, GitHub Co-Pilot facilitated rapid code implementation. For example, prompting “Generate a React component for a login form” yielded a useful template that my team tailored to fit project requirements. By anticipating code snippets, Co-Pilot significantly reduced development time while maintaining flexibility for customization.  Learning new concepts, such as the Model-View-Controller (MVC) architecture, was another domain where AI excelled. ChatGPT’s detailed explanations, such as “Explain MVC with an example in JavaScript,” clarified abstract concepts and made tutorials more approachable. Similarly, answering classmate questions or preparing for discussions benefited from AI’s concise explanations, such as “How does async/await work in JavaScript?” These interactions underscored AI’s potential as a collaborative learning tool.  Beyond answering questions, AI proved valuable in generating examples and documenting code. Whether using underscore.js or writing a Fibonacci function, ChatGPT provided practical, time-saving examples and comments. Debugging with AI also became a critical aspect of my workflow. When encountering ESLint errors, querying “Fix the ESLint errors in this code:” yielded efficient solutions that expedited quality assurance tasks.  The impact of AI on my learning was profound. By offering alternative explanations and examples, it accelerated my grasp of topics like asynchronous programming and functional programming. However, over-reliance on AI occasionally hindered independent problem-solving, emphasizing the need for balance. Practical applications outside the classroom, such as building a weather forecasting app, demonstrated AI’s utility in real-world projects while reinforcing the importance of verifying generated content.  Despite its benefits, using AI presented challenges, particularly in ensuring accuracy and relevance. Incorrect or outdated information sometimes required manual verification, highlighting the limitations of current AI systems. Nevertheless, the opportunities for personalized learning and rapid prototyping far outweighed these drawbacks, suggesting a strong case for integrating AI further into software engineering education.  Comparing traditional teaching methods to AI-enhanced approaches revealed complementary strengths. While traditional methods excel in fostering critical thinking and foundational understanding, AI tools provide speed, convenience, and engagement through immediate feedback. A hybrid approach combining these strengths creates a more comprehensive learning experience.  Looking ahead, the future of AI in software engineering education lies in its role as a supplementary tool. Advancements like adaptive AI tutors and more precise debugging tools could enhance personalized learning. Addressing ethical concerns, such as dependency and misinformation, will be essential to ensure effective and responsible integration.  Reflecting on my use of AI in ICS 314, I recognize its transformative potential in enhancing both learning and efficiency. By accelerating progress and enabling new approaches to problem-solving, AI has become an invaluable resource. However, its integration must be balanced with an emphasis on independent problem-solving and critical thinking to optimize its impact on education and beyond.