ChatGPT my beloved

17 Dec 2024

Programming and learning through AI

In software engineering and even education as a whole, AI seems to be a quickly growing tool that increasingly more people are starting to use and reference in many situations. For me, what started as an unlikely prospect actually happened to be one of my biggest teachers this semester, having learned a lot about chatGPT itself and, more importantly, how to learn and adapt to new concepts through it more efficiently. Alongside this, we were also ushered to make use of github copilot, another related tool that definitely seems to make many tedious parts of coding less strenuous, along with sort of guiding you along your coding. However, as I didnt really have my student ID at the time this semester (never got around to snatching it, pretty stupid), I never really had the chance to make use of a seemingly resourceful tool. Nevertheless, I am pretty content with how things have played out, both in my journey of learning more about the contribution of AI to my learning career and also seeing how I’ve handled and worked around new concepts.

The suprising use of AI in class

Near the beginning of this class, I wasn’t very familiar with using AI in general, much less applied to a classroom setting with software engineering in mind. At first, I did not have a grasp on how useful it actually would be for learning concepts, and I am naturally pretty inquisitve about things and like to learn how they work, its interesting I didnt try it out sooner.

For class related material in particular, starting with experience WODs, I actually do admit to having watched the screencasts first for a majority of the videos. However, for some I decided it would be in my best interest to attempt to figure it out myself at first, then possibly try to prompt chatGPT for some much needed help if I really found myself stuck. Primarily, I found that it was slightly less useful for HTMl/CSS related code, as that in general is a little more abstract in terms of how to present it to chatGPT in a way you get a result you’d be satisfied with. However, for much of the typescript related WODs, I found it pretty useful as well, however during that time I also wasn’t really using it as much, as this was near the beginning of the class, where I was still pretty skeptical about using it. For practice WOD’s and in class WOD’s, I actually found them to be slightly less useful. Due to a mix of not really preparing for the WOD’s very well along with nerves, I would usually have a pretty hard time on the WOD’s in general, and although chatGPT was pretty helpful, using it under pressure with the clock ticking definitely did not contribute to efficient usage of chatGPT, scrambling to make sense of the code its spitting back at me while also trying to balance between keeping track of time and deciding when to bail and attempt to write the code myself, an example of course being the 3 part html page WODs (island snow for practice, murphys, and aloha beer, all of which centered around the main topic I found it to have trouble with: HTML and CSS).

Learning and practice, even more useful!

In general, I found it more as a useful practice, learning, and analysis tool rather than an on-the-spot programming tool, and honestly that actually seems more beneficial to me, allowing me to learn and absorb concepts myself rather than relying on it to do almost everything for me. For writing, I almost never ask chatGPT for help as I don’t really see the need to and I also enjoy writing to an extent, so I dont feel as inclined to use it. For the final project however, I saw the most use for this tool, learning many integral concepts to software engineering, mostly referring to the usage of nextJS and nextAUTH in particular. While postgres and prisma definitely were a pain to deal with, I didn’t really find it to be an issue that would benefit from using chatGPT. For much of the coding and authentication side however, I found it to be crucial to get my assigned parts done efficiently and on time. While I do believe I most likely would have been able to figure out solutions to my tasks, it would be a blatant lie to say that I didnt greatly benefit from chatGPT. In particular, I was having issues with the nextAUTH secret and URL .env variables (as I didnt copy the sample.env and only pulled from vercel, not really knowing how the authentication system worked). After asking chatGPT about the mysterious vercel running logs related to an undefined “secret” in nextAUTH, it gave me the right idea, but not an exact fix. Later on however, I figured out that I had to define those variables in the .env file, in particular on vercel, which now looking back on it was pretty hilarious. I didn’t really have as much use for questions in class or Discord in the smart-questions, as I didn’t really look in there that much, but Im sure the community of us students would have found it invaluable in helping each other out where AI directly might not, requiring our collective effort along with AI to resolve issues others are having. I also definitely used it for most of the “hands on” code examples, and I found it particularly useful when we were learning about arrow functions, having not been very familiar with them along with having some trouble understanding the logic and syntax of it, having had many days where I’d just ask it what particular functions did, like “hey chatGPT could you help me with map and filter arrow functions, along with examples of using them in conjunction with each other?”, and how I could use them in tandem, which is a sequence that was particularly useful for reference in our final project for the search feature.

Outside the classroom

In mostly unrelated situations, I have found myself using chatGPT randomly and for entertainment sometimes, having found it a pretty fun tool to just mess around with, but also as a tool to consult when I might be having issues with certain things. While I do take some things it says with a grain of salt, thats where I believe the responsibility falls on the user to have proper judgement and consequent action after using chatGPT, whether it be researching more to make sure whatevers its telling you is correct, along with maybe going a different path. I’ve found it does a pretty good job of making up some pretty funny add-on stories, something I was just testing out while I was bored. I also plan to ask it about some basic food recipes just as a test to see how valid it is (which Im sure it is, wherever it gets those resources from (food network anyone?)). In the end, I’ve found chatGPT to be an educational tool of great benefit, while also being a pretty fun tool to engage with, just typing out thoughts, ideas, or just random, stupid things, which I guess you could think of as a therapeutic tool, technically. I think it has some pretty great uses in so many areas, and overall its been a great ride using it!