ChatGPT represented AI as a “futuristic humanoid robot” when told to “generate a picture of AI”
In education, AI challenges teaching norms by providing students with a streamlined approach to learning. Traditional teaching materials are made futile with the pace that AI searches for and sources an answer. Computer Science courses, like ICS 314, are affected in an unique way because of teaching Software Engineering. Software Engineering is a field that both gave birth to AI and yet, is the most impacted by AI. The AI tools that I have used— ChatGPT, Claude, and Co-Pilot— share a common proficiency in generating relevant code. In ICS 314, I have made constant use of AI throughout my coding process. Particularly, in fixing errors and to perform tasks that I have no knowledge of. Further details of how I’ve used AI will be in this essay. Read along.
As I teased in my introduction, I have many personal experiences with AI tools in ICS 314. There are three AI tools that I have primarily consulted: ChatGPT, Claude, and Co-Pilot. Factors that affected my choice of these tools were price, ease of use, and accuracy.
At the start of ICS 314, I found myself a bit hesitant on using AI. The primary AI tool that I was familiar with is ChatGPT, however, I was inexperienced in using it. It was only when I had realized how daunting it was to be timed on coding, had I chosen to make more use of AI when coding. I did make use of ChatGPT in E18, the first experience WOD (Workout of the Day), where I directly asked GPT to make the functions for me. I asked ChatGPT to do the same for E19 and E20. In hindsight, the simplicity of what was asked in these three experience WODs made the task easily GPT’d (completed with ChatGPT).
Benefit: ChatGPT was quick to provide solutions to simple coding problems, meanwhile increasing my AI efficiency
Cost: I was not forced to find the solution on my own for simple coding problems, decreasing my chance of recalling how to solve these type of problems in the future (without AI)
The in-class practice WODs proved to be an important driving factor for my increased usage of AI in coding. These WODs were our first exposure to how the in-class WODs would be like, and time was truly of the essence here. In the beginning, like for the Experience WODs, I was hesitant to use AI. For the first in-class practice WOD, the Temperature Converter, I did not use ChatGPT or any other AI. I found the instructions to be clear enough to code without assistance. These in-class practice WODs were also done as a group, unlike the individual official WODs. I recall that in following practice WODs, my group relied more on AI as the semester went on. The practice WODs grew more challenging. Oftentimes, we would input the directions directly to ChatGPT. Though we often DNF despite having AI on our side.
Benefit: Sometimes, for the simpler WODs, AI can create helpful code– especially if the instructions are clear.
Cost: Usually, more often than not, the WODs are not so simple towards the middle of the semester. Without the ability to identify ways to code an answer, AI is useless with vague directions.
Due to the importance of these actual WODs as a pass-or-fail, worth 100 points per pass, I made the most use of AI for these in-class WODs. For the first in-class WOD, Feels Like, I did not use any AI. As I have mentioned before, I was hesitant to use AI at the start. Starting with the second in-class WOD, I started using ChatGPT to create code based on the instructions, which I adjusted for clarity. I did the same with the following WODs, and I also used ChatGPT to fix errors in my code. For example, for Browser History, I needed help with formatting the page properly in HTML. I would paste my code with instructions like “adjust the p so that it is within the dimensions of the page.” Later, when we needed to recreate entire web pages, I consulted Claude to upload a screenshot of the expected page and instructions to “create this web page in HTML and CSS.”
Benefit: AI made it possible to solve multiple steps that are required to address the WOD. Whether it was efficient to directly paste the instructions, or to instruct AI to complete smaller tasks, it was easier and faster for AI to do it. For AI to shine best, code needed to be directly pasted.
Cost: In most cases, I found it faster to follow instructions than to ask AI to complete the entire task, because AI struggles to address all aspects of the prompt.
I rarely used AI for writing my essays. Only for essays with prompts that require research, did I consult with AI to help me form ideas of what to write. For example, my essay on design patterns involved the minor use of ChatGPT to ask about “flexibility and abstraction in object creation” and “explain iterators.” But I did not use AI as my main source for the information in my essay.
Benefit: It was easier to ask questions with ChatGPT and get quick, simple answers.
Cost: The information that ChatGPT gives is not reliable, and I would still need to spend the time researching.
I found that I crucially needed CoPilot for my final project. Everyone in my group had CoPilot, so for the VSCode liveshares, I was the only one that had been unable to utilize the feature. Although, for my contributions to the project, I found that I used ChatGPT to help develop my code and CoPilot for debugging errors within the code. I mainly contributed to the appearance of our website, which meant I had asked GPT questions such as “add a text shadow to the text in this code
Benefit: AI helped me troubleshoot database issues along with creating css styles for our code.
Cost: Specific issues with Prisma could not be solved with AI.
I sort of used AI for this, but rather than to learn the concept in a tutorial fashion, I used AI to create the concept that I needed. I would say that while AI benefits me in creating the concept, the cost is that I am learning how to use AI more efficiently rather than learning the concept.
I used ChatGPT to answer questions posed in class discussions, since our professor encouraged us to do so. The benefit of doing so is that it gives a quick, correct answer and there is no cost of doing so.
I do not recall if I used ChatGPT to generate smart questions. I preferred generating my own questions if I had any, because I would know best what issue I need assistance with. I do not think there would be any cost associated with using AI to generate a smart question though.
I have asked ChatGPT, specifically. For example, I have asked GPT to create an example of iteration in code. This was to aid my understanding of iteration for an essay in this class. The benefit of using AI to generate coding examples is that it provides quick learning material, though the cost is that you would need to be able to judge for yourself if the example provided is accurate.
I have asked ChatGPT to explain code for the final project. Sometimes, I did not understand what had been added to certain files so I would paste the code directly into AI to get an answer. It was beneficial to get an answer I needed but the cost was that the answer was not always helpful.
I did not use AI for documenting code. I find it easier to write my own commentary. Unless the code includes comments, which is a benefit of AI generated code, the cost of asking AI to document code is that it may be unnecessary. Submitting code to AI contributes to its training data.
I definitely have asked ChatGPT to fix errors in my code, primarily because Co-Pilot could not fix it. The benefit of AI is realizing what the issue is, but the cost is that AI is not always able to solve the issue. Especially in my case, when it is an issue with Prisma.
Sorry, I cannot think of anything else.
AI has influenced my learning experience in a positive way by providing an easy source for answers and as a starting point for further research. Regarding software engineering concepts, AI is useful in explaining complicated concepts in a simple way.
AI has its limitations when it comes to vague instructions or specific issues. For large, complicated problems, AI struggles to create an answer that fits all the needs for the problem. For issues that are not explicitly to do with code, AI struggles with giving you a way to troubleshoot. Specifically, I refer to Prisma and database-related issues.
Traditional teaching methods require brute memorization and the development of deep understanding of concepts. On the other hand, AI addresses both of these processes and challenges education to become more sophisticated. In the context of software engineering education, AI will allow educators to accelerate the pace of learning. Students will be expected to quickly pick-up basic concepts with the help of AI.
I think AI will have a prominent role in the future of software engineering education. As I had mentioned before, AI will help accelerate the pace of education for both students and educators alike. There will be a greater expectation on students to grasp more concepts than previous generations. I think educators will be more impacted by AI in the future. As AI continues to develop to be better than it currently is, educators will be challenged to figure out ways to effectively teach students that could otherwise use AI to learn concepts instead.
In ICS 314, this software engineering course, the use of AI has fundamentally shaped the way I perceive AI as a tool. Instead of competing with AI, I see potential for AI as a stepping stone in building sophisticated programs. Despite the caveats of AI, with its shortcomings in addressing specific issues, I believe AI is important in this course. I recommend keeping AI within this course for students. But, I also recommend teaching ways to use AI effectively. Perhaps an in-class AI workshop, to compare how different instructions impact the effectiveness of AI-generated results.