The Impact of AI in the Classroom
As AI tools become more advanced, the impact on the education system has become more pronounced. Across all disciplines, AI has made learning more adaptive, interactive, and efficient. The integration of AI into educational settings is not an enhancement of existing methods but a reimagining of how knowledge is imparted and acquired.
In the field of software engineering, AI serves an interesting purpose. There is a natural synergy, considering that AI technologies are built upon software platforms and concepts that the discipline itself revolves around. Tools like ChatGPT and Github Co-Pilot can automate mundane tasks, and offer suggestions or guidance to solving software problems.
In ICS 314, the incorporation of AI tools has been impactful to my learning experience. These tools have supplemented traditional learning methods and opened new avenues for exploration and understanding. Whether it’s through assistance with specific coding challenges, streamlining project development, or offering suggestions for how to get started on an assignment, AI’s role in this course has been quite significant.
I found ChatGPT to be useful for the “experience” WODs. For the WODs early in the semester, such as E12, where the task was to implement a Jamba Juice menu in javascript, I noticed that AI was able to produce code that would solve the problem by simply copying and pasting the prompt. However, as the WODs increased in complexity this method would require a different approach. For example, in the “Digits” WODs, there were too many nuances to simply copy and past the prompt and get an answer. Instead, AI was useful here by helping me understand how meteor works so I could ask more specific questions when I was stuck.
For these WODs, I would forward the prompt to ChatGPT and either get an answer that was correct, or I could review and make changes as necessary to fit the requirements of the WOD. If there were many steps, I would split the prompt into sections or rephrase portions to get the answer I was looking for. In-class WODs Similar to the in-class practice WODs, I found ChatGPT to produce the correct answer immediately or provide a series of steps that I could follow. For more complicated WODs, some additional prompting or follow up questions were necessary.
I found AI to be quite useful for generating an outline for essays, or organizing the structure of certain components like the introduction. I would list the ideas I wanted to type, as well as the essay prompt, and the AI would respond with a list styled outline that I could adjust as necessary. This made the essay writing process much more efficient, and helped me avoid writer’s block.
For a large task like the final project, I used the prompt to have AI produce an overview and suggestions for how to get started. ChatGPT was able to give suggestions on layouts, as well as details on how to implement different pages and fit smaller subtasks into the big picture.
Learning a concept was much easier with the assistance of AI. I used AI to adjust tutorials to fit my learning style and ask clarifying questions, which enhanced my understanding of the topic.
Running a potential question through AI can help refine it or make it more precise. Sometimes, AI can answer the question and no post is necessary at all.
Asking a smart question is much easier using AI. For example, you can give AI the guidelines for a smart question along with your question, and get a more refined version in return.
With AI, I spent much less time looking up syntax, and instead was able to get code snippets that I could copy directly into my project. Explaining code In addition to providing the code, ChatGPT would provide explanations for why the code works. It will also provide different approaches to solve the same problem, which in turn enhances overall understanding.
AI was useful here if I had mundane coding tasks to complete like typing out for loops or switch statements. I could say “write a switch statement in javascript for … “ and could quickly copy the code into my project.
Whenever I used code snippets produced from AI, it would include comments that explained what each line of code was doing.
Simply copying an error message along with the code would often result in AI giving me a quick solution. If not, it would give me a list of potential causes for the error that I could troubleshoot.
Incorporating AI into my learning experience in ICS 314 has influenced how I acquire knowledge and apply it. AI tools, specifically ChatGPT have enhanced my understanding of software engineering concepts and tools like Bootstrap 5, React, and Meteor. AI can break things down quickly into manageable pieces with simple explanations. You can always find further clarification if necessary, and the experience is tailored personally - contrary to traditional learning through a textbook or lecture.
With the ease of use and access to easy answers, I found myself going deeper into topics than I would reading a textbook or even following an online tutorial. The accessibility of information has increased my interest in different topics and encouraged a self-directed approach to learning. AI platforms have allowed me to apply theoretical concepts in practical scenarios which has reinforced my learning.
I think the biggest impact AI has had is on my problem solving skills. Using AI has helped me think outside the box since it will often suggest multiple ways to solve a problem. Additionally, AI has increased my efficiency when it comes to debugging. By indicating potential errors and offering suggestions for optimization, AI tools have sharpened my ability to diagnose and fix issues with my code.
While AI has definitely enhanced my learning and understanding of software engineering concepts, it has also presented some challenges. It can be easy to rely on AI to give you easy solutions, and sometimes this would cause me to miss the underlying concepts of what I was working on. To counter this, I found it was important to interact with the solutions I got from AI, and ensure that I understood the concepts behind the solution instead of simply copying and pasting.
I recently used AI to assist me in creating a website for a clothing startup company. This was my first time using Shopify, and putting a website online. ChatGPT made the process much easier. Whenever I had questions or was at a sticking point, ChatGPT was able to provide direction and made the process much more simple. I was able to get an outline of all the steps necessary to get the website online, and ensure it was tested properly and the startup was ready to sell. Without AI, I would have spent much more time scouring the web.
One of the biggest concerns is over reliance on AI. There’s a risk that students will not develop learning skills if they use AI to rush through assignments and do not take initiative to understand or read the explanations. Additionally, AI does not always understand the context or nuances of a problem. It can take some time to lead the AI to the solution you are looking for, or provide it with the full context of the problem.
With these challenges there are some opportunities, though. AI has the potential to be integrated further to create personalized learning paths for students based on their strengths and weaknesses. Additionally, Expanding the use of AI in simulating real-world software engineering scenarios can provide students with valuable hands-on experience and exposure to practical challenges.
Traditional teaching methods, like lectures or assigned textbook reading, often fail to engage students properly or equally. AI methods can potentially engage students with personalized content, resulting in better overall learning.
Traditional methods lean towards memorization and passive learning, which may not always lead to long-term retention. AI approaches, by providing interactive and practical learning experiences, can enhance retention by involving students more directly in the learning process.
Hands-on methods are often limited in traditional methods due to logistical constraints like large class sizes and lack of resources. AI makes it easier for students to work through practical examples.
As AI becomes more advanced there will be more opportunities to improve learning along with new challenges. We might see advanced personalization, with AI able to address different learning styles and emotional states of students. Additionally, There could be an increased need for teaching ethical and responsible use of AI in software engineering.
One challenge I foresee is maintaining a balance between human and AI interactions. There are aspects to learning that cannot be satisfied solely by AI. Mentorship and guidance are imperative for students to learn, and this can only be provided through human interaction. Lastly, the education system needs to keep pace with the evolving AI-driven industry. Education systems should be preparing students to use AI and innovate with it - not to avoid it.
In conclusion, my experience with AI in ICS 314 has been an important aspect in my software engineering journey. AI tools, especially ChatGPT have enhanced my learning experience by providing immediate, personalized assistance. Although, it has presented some new challenges, particularly in ensuring an understanding beyond AI-provided solutions. While AI has undoubtedly made learning more interactive and efficient, it has also highlighted the importance of critical thinking and problem-solving skills that go beyond what AI can offer.
Looking to the future, the role of AI in education appears increasingly significant, promising more personalized and immersive learning experiences. However, it’s crucial to balance this technological integration with the irreplaceable human elements of education, such as mentorship and guidance. We must be able to use AI as a complement to traditional learning methods, ensuring it enhances rather than replaces the critical human aspects of education. Embracing AI responsibly in software engineering education paves the way for innovative and effective learning, preparing us for an evolving technological landscape.