The use of Artificial Intelligence (AI) in education has risen significantly in recent years. Tools like ChatGPT, Bing AI, and Co-Pilot have become essential resources, condensing vast amounts of information from the internet with a simple prompt.
However, this rise in AI has been accompanied by controversy. It has forced a re-emphasis on ethics in computer science, particularly regarding how AI sources and credits information and how students use it to supplement their learning. Additionally, it has raised concerns about whether AI’s intelligence poses a threat to human intelligence.
In the field of Computer Science, AI has the capability to write code, even entire programs, in any language. My first encounter with AI was through ChatGPT during my second semester of college, asking silly philosophical questions. By my third semester, I had grown accustomed to using it to assist with code snippets, asking it questions about what the code was doing.
In ICS 314, Software Development, AI was openly embraced for assignments, WODs, essays, and more. This class has allowed me to explore how AI can be both a valuable learning tool and a potential crutch.
I have used AI in class this semester in the following areas:
Experience WODs e.g. E18: For experience WODs I did not use any form of AI since the answers were reviewed in tutorials by the Professors. I felt that learning from them directly was easier and more valuable.
In-class Practice WODs: For in-class practice WODs I did use ChatGPT at the beginning whenever I got ESLint errors and was confused about what it meant and how to fix them.
In-class WODs: For in-class WODs I did use ChatGPT. This was more during the middle stages of the semester when we were being introduced to more things.
Essays: For essays I would use ChatGPT to clean up my work. I usually start off my essay by writing bullet points of thoughts that I want to incorporate. And with a couple of re-prompting, the response I got from ChatGPT is the intro above with some minor revisions from me.
Final project: For the final project I used ChatGPT. My main task was the Card Pull Page. My greatest issue was creating a pullRandomCard function, which is supposed to randomly choose a card in the all cards collection, and create a copy to put it in the user collections. I used ChatGPT to try to find solutions to this, but ultimately found my answer through looking at other examples of code from other projects.
Learning a concept / tutorial: I used ChatGPT to get quick definitions of some underscore functions, especially during WODs, but never to thoroughly learn it.
Answering a question in class or in Discord: I did not answer any questions in the Discord or in class really, so I had no use for ChatGPT.
Asking or answering a smart-question: I did not use ChatGPT for asking or answering a smart-question. I only asked one question in the channel and that was formed with the help of my teammates because it was a question specific to the final project.
Coding example e.g. “give an example of using Underscore .pluck”: I used ChatGPT to get quick examples of how to use underscore function, and during the final project I also asked for quiz component examples.
Explaining code: This is probably my biggest use of ChatGPT. Often I would write code and then use ChatGPT to help me trace it by explaining what was happening. It would often catch times when I would using a function that returns the wrong value.
Writing code: I definitely use ChatGPT in writing code. It gives me a place to jump start off of.
Documenting code: I have never used ChatGPT for documenting code. I think documentation is usually for human ease and so having a human create documentaiton is easier.
Quality assurance: Sometimes before I submit a WOD or an assignment, I would run the function overall through ChatGPT to make sure I’m not missing anything.
Other uses in ICS 314 not listed above: I have not used ChatGPT in any more ways.
Since incorporating AI into part of my study routine, I’ve found myself understanding concepts faster by using ChatGPT to re-frame things in simpler terms or give different examples using the concepts. Rather than sifting through different sources, I find it easier to start off from ChatGPT and then branch into the textbook, other online resources, and YouTube videos for further clarification.
There have definitely been moments when I have relied on it too much. As such, my problem-solving abilities have been stunted by having ChatGPT as my constant Plan B, and by extension I think my skill development has grown somewhat reliant on AI. For me, this is a human error problem and I do think I just lack the discipline at times to persist without ChatGPT.
Overall, integrating AI into my learning journey has been beneficial in enhancing my understanding of software engineering concepts, but maintaining a balanced approach is crucial. While AI enhances comprehension and provides valuable insights, it should supplement rather than replace traditional learning methods. To truly understand material requires active engagement, experimentation, and problem-solving—which are elements that AI alone cannot fully replicate.
AI has found its way into numerous applications. For me, I mostly use AI when it comes to writing. Often my thoughts come in bullet points, a bunch of sentences that I have trouble stringing together as one cohesive thought. I think of it like cooking, me mixing together my thoughts and then putting them in ChatGPT so they come out a little bit more edible.
Across various fields, applications of AI have led to rapid advancements. In sustainable development, the field I would like to work in after graduation, the role of AI is growing currently through advanced data analysis and predictive modeling.
For instance, IBM’s Green Horizons Initiative uses AI to address air quality and climate change in cities worldwide. Their AI models analyze data from sensors and satellites to predict pollution levels and optimize energy usage, supporting sustainable urban development. Another notable project, The Ocean Cleanup, utilizes AI-powered sensors and drones to remove plastic pollution from oceans efficiently, preventing further harm to marine ecosystems.
Just like how AI is being integrated into sustainable development in numerous ways, AI has the flexibility to be applied across many disciplines. Its practical applications are diverse and effective in driving innovation, making it a cornerstone of solution strategies across various fields. It is evident that AI is here to stay, and understanding its many effective applications is essential.
The challenges I’ve encountered with AI mostly revolve around how I handle it. Finding the balance between using AI to aid my learning versus relying on it too heavily has been difficult. In this course, it’s tempting to ask ChatGPT for quick solutions, such as .CSS code, but this can hinder my understanding of the material. Additionally, as the projects became more specific, such as coding in my own environment or working with my own database, ChatGPT became less reliable, which highlighted my dependency on it.
The opportunities AI holds in education can start with how to ask a smart question. AI prompting has helped improve my own ability to ask smart questions. Experimenting with generating prompts has been insightful in determining the boundaries between a helpful response and an unhelpful one. Using AI as a resource and a fill-in-the-blank tool for reading and modules has been beneficial. I believe it would be interesting to include key questions in each module that students can explore with ChatGPT, providing them with a starting point for further exploration.
In education, traditional teaching methods usually are structured around the teacher, following a fixed curriculum with limited flexibility. Students learn through lectures and textbooks and get feedback through periodic tests. Through AI-enhanced methods, like using ChatGPT, the learning is structured around answering specific prompts or questions. Students seek out answers themselves, which can lead to a more personalized experience based on their own concerns.. I think the main difference between the two methods is that traditional methods rely on educators for content delivery and assessment, while AI-enhanced methods allow educators to take on a facilitator or mentor role, guiding students through personalized learning paths.
In terms of engagement, traditional methods use in-class participation and completed homework as measures, while AI-enhanced learning relies more on student interaction with AI tools. However, measuring engagement and retention can be more challenging with AI. Traditional methods often foster deeper understanding and better retention through memorization and passive learning. As for practical skill development, traditional methods blend theory with hands-on practice, whereas AI-enhanced approaches provide opportunities for skill development through coding exercises, projects, and AI-powered feedback. This enables students to apply theoretical concepts more effectively, potentially enhancing their practical skills.
Overall, AI-enhanced learning methods have the potential to revolutionize education by offering scalable, personalized, and engaging learning experiences. However, I believe that traditional learning methods are essential at beginner stages to establish foundational understanding. Quality questions can arise once this foundation has been built. Additionally, students may benefit more from the in-person connection of traditional methods when delving into new topics. Personally, I find that an intersection between the two is where the future lies.
The structure and approach of this class have been my favorite in the ICS pathway so far. It requires effort from students with its somewhat reverse-classroom setup, but it ensures that students don’t feel lost. I greatly appreciate the transparency encouraged with AI use in this class, and I think the teachers have fostered a healthy attitude towards AI. Not stigmatizing AI has almost made it feel less necessary for a win, and in that way, I think it became less of an addiction. It’s essential for everyone to strike a balance between leveraging AI’s benefits and ensuring they develop a solid understanding of the core concepts on their own.
However, I found that relying heavily on AI throughout this semester wasn’t the most beneficial for my learning. For the next semester, I aim to rely less on AI for mastering basic fundamentals. Nonetheless, using AI has prompted me to think more consciously about how I want to utilize it in the future.
It is evident that AI will only further integrate into society, and that as its application grows humans will have to learn how to grow with it. There is often a fear that comes along with the use of AI, there is nervousness about its capacity and its utilizations, an understandable fear. AI is relatively new, and it’s trendy.
But I think it is essential to remember this – artificial intelligence will only be as intelligent as the computer scientist behind it. AI is not an all-knowing entity. It is the collection of human intelligence that has worked on it, that it builds on, that exists. So long as we foster the mentality of it being a tool I believe AI has the capacity of ushering a new wave of smarter computer scientists.
By allowing the use and transparency of AI for a variety of assignments, this class has helped me navigate my own use of AI, and it’s helped my software development skills. This class has been a good model of how to integrate traditional learning with AI-enhanced learning, and I think students will leave this class as better computer scientists.