A Newbie’s AI Coding Journey
November 3rd, 2023Talk about throwing yourself into the deep end! AI Coder was in my top 3 for capstone projects, but I honestly wasn’t expecting to end up with it. I had exactly zero experience heading into things, and it seemed like much of my group was a bit more advanced than me. We selected a “dating app” to be our final deliverable, and our goal was to utilize various AI tools as best as we could in order to plan and develop a web app tailored to matching humans to prospective animal friends. This is the story of my journey for the last few weeks.
We each picked our favorite AI tool to compare and contrast our experiences in web development utilizing them. What even was my favorite AI tool? I didn’t even know any AI tools to begin with, aside from vaguely understanding ChatGPT existed. I ended up selecting GitHub Copilot. I felt relatively confident about building a web application, so having something more hands on felt like the right call. Copilot plugs right into my favorite IDE: VS Code, and all it really takes to get going is a few comments from which it attempts to generate code. It should be pretty simple, right?
Honestly, it really is pretty simple, but also kind of not very simple at all. I can get it to do almost anything I want, but only to a certain extent. I’m making a Flask app for the dating app. I turned Copilot on and decided to start with something simple. I asked it to import Flask. It succeeded, but it also imported more things than I ever would have needed to complete my basic tasks. It doesn’t particularly hurt to have them, but I decided it wasn’t quite what I wanted, so I refined my comments a bit further to be more explicit. With the correct guidance, it was able to import only that which I desired, but at this point I would’ve been better off simply writing the line myself. What was even the point?
I suppose it was a little amusing to me later when I found out I actually did need a handful of the things it had imported, and I had written off as useless. It was just a matter of adding a few extra words at the top of my Python file, but that was beside the point. Humans are far from perfect, and AI will likely never be perfect as well, but it had still presented me with a helpful suggestion which at worst could have served as a convenient reminder and at best could have saved me a lot of grief if I had been working with something a little more unfamiliar to me. It doesn’t always give suggestions I want, and it doesn’t even always give suggestions that are correct in the sense of creating functional code that will actually run, but it does serve as a convenient primer to have along. I occasionally forgot an exact syntax or ran into a simple problem I’ve seen numerous times before, and these were instances in which Copilot managed to take care of me in an efficient manner. I still had to look over its work, but this both removed at least some of the repetitiveness of my work and served as a refresher on little nuances I may have slightly forgotten.
Overall, I would say I have had a relatively positive experience with GitHub Copilot. If I knew nothing, Copilot was not very helpful. It would make an attempt, of course, unless I provided it with too much information at least, but this was still not very useful to me in the long run, as I would neither be able to verify the code’s usability nor build upon it without relying further on AI. It’s a bit interesting. Knowing more about exactly what I needed and how to go about making it made having AI around a bit more convenient. It could help me learn a bit more about a language, help me avoid a bit of repetitiveness in my work, or even write some comments for my code for me. It noticed my approaches to problems and provided my own solutions back to me when I encountered similar problems later on in my work. It’s not something I’d always use, but at this point I at least enjoy having it around, and that’s honestly not something I would’ve been able to say even a few weeks earlier.