
This was my first real introduction into the world of computer science, something I hadn't had much exposure to before college. I figured I’d end up somewhere in that sweet spot between business and tech, and even though I knew I didn’t want to be a coder, I also knew that if I was ever going to build or manage tech products (or just talk with actual developers), I needed to learn how to code. So I signed up for CS180: Intro to Java. It’s basically the classic weed-out class for every CS major, and let me tell you, it lived up to its reputation.
Right from day one, they threw so much content at us that I barely knew what something was called before we had moved on to the next topic. I’d sit in lecture thinking, “Okay… what am I even supposed to do with this?” A lot of the content I probably didn’t fully understand (that's a lot of cs...at least for me), but I can say, without a doubt, I learned more in those few months than I did in all of my business classes combined. And that’s not me being dramatic(though it is an insult to my business classes).
Now throughout the class we were designing apps that we interacted with via the terminal. This was cool, but I still wasn't understanding how this would lead me to making actual software. I knew that apples website looked amazing, and that I enjoyed editing videos with FinalCut Pro, or texting via imessage, but I still had no idea how these apps were coded(and I thought this class would help me understand that. looking back I've learned so much that I understand that I barely understand anything about what's possible or how things are done)
A big turning point was the group project. Three of us (none of whom were CS majors) banded together to build a “marketplace messenger”, a Java GUI app where you could message between two local servers, search for usernames, edit or delete messages, etc. Before this, my code only ran in a terminal window. Suddenly I was dragging buttons onto a frame, wiring up text fields, and watching real software blink to life. It was an eye openeing experience and definitely exciting because I felt like I was starting to make something rreal for once(no one wanted to play my terminal Wordle game).
We ran into so many roadblocks. We didn’t know GitHub, branches, pull requests, nothing. So half our time was spent cleaning up broken main branches, wrestling with merge conflicts, and scrambling to revert “oops” commits. If only someone had taught us how to set up a proper repo from day one… but honestly, getting burned so many times taught me more about project structure and collaboration than any lecture ever could.
And yes, this all happened right as ChatGPT was launching. I resisted using it because I wanted to force myself to really think through every loop, every GUI event handler, every socket connection. If I’d leaned on it to spit out code snippets, I don’t think I’d have internalized those fundamentals nearly as deeply. So while ChatGPT was that shiny new toy, I stubbornly figured stuff out the old-fashioned way, Stack Overflow at 2 AM, trial-and-error debug sessions, and having dreams about the solution I could implement the next day.
Speaking of late nights: that messenger project took longer than every single homework assignment in all my business classes combined. We were up until dawn more than once, eyes blurry, but it didn’t even feel like work. I was actually having fun. Every time I got that “edit message” feature to finally commit to the server, it felt like a mini victory lap.
By the end of the semester, I realized a few things:
- Software development is more than coding: it’s project setup, version control, collaborative workflows.
- You don't need to know the answer, just how to find the right question: knowing how to ask precise questions on Stack Overflow is a superpower.
- Building is its own reward: seeing your code come to life (and survive multiple merge conflicts) is oddly addictive.
- Foundations matter: Having an effective blueprint from the start makes the project so much easier, and of course your blueprints become better with more experience, as we ran into many unknown (completely foreseeable to an experienced dev) problems.
CS180 didn’t just teach me Java; it flipped a switch in my head. It showed me what’s possible, how to learn, and,best of all, that coding can be fun. So here I am, well past that first class, still fueled by those late-night “aha” moments and ready to dive into whatever comes next.