$ August 20th, 2025
My first ever semester of college was at Laurel Ridge Community College. When I started, I didn't have a great idea of who I was and what I wanted to do in my life. However, it was here that I was first introduced to programming. The first course I took was CSC 221 which was a very simplified introduction to Python. Back then, I didn't know the difference between a function and a class, and I would check booleans by using equality to compare them to True or False.
I graduated Laurel Ridge with my Associate's Degree, and with my newfound passion, I transferred to James Madison University to pursue a Bachelor's Degree in Computer Science. It's been about 2 years since I first transferred, and I've grown so much as a developer. I've had the opportunity to work on some amazing projects, and I've learned from some incredible professors. I'm truly thankful for all the experiences I've had and the people I've met along the way.
Today marks the first day of the Fall 2025 semester. It also marks my final semester at James Madison University. It's been a long journey, and I can't believe it's almost over. I'm about to achieve one of my main goals over the last couple of years of my life, graduating with my Bachelor's Degree in Computer Science. I'm excited to see what the future holds, and I'm looking forward to the next chapter in my life.
I've learned and grown a lot during my time at university. I've developed many projects both for myself and for my classes. I've worked with many other students and have gained valuable experience in teamwork and collaboration.
One of the earliest projects I've completed was the unitED calculator. This was my first time using Git and GitHub within a team which turned out to be quite a headache at first, but we quickly got it under control. I learned a whole ton about software development through this project as it took place within an environment meant to simulate real-world software development. We developed using an agile methodology and worked with a "stakeholder" to gather requirements and feedback.
Another project I'm proud of is my Navigation System. This was another project that was developed for a class. This project required implementation of various algorithms for pathfinding and navigation (such as Dijkstra's and Bellman-Ford) which was very rewarding to do. My favorite part of this project was changing my algorithm and seeing the very visible changes in speed. It really helped me understand the importance of optimization and efficiency in software development.
Outside of projects I've made for school, my biggest project I've worked on yet has been my LeetCode Bot. I put so much work into this, and I've even released it to the public and have been actively maintaining it since its release. I took everything I learned from school and other personal projects and turned them into something I could provide to the world! Taking this step of a major personal project, it quickly helped me understand the value of working on things on your own. There would be many times where the class would be learning about something that I already knew how to do because I've done it for this project.
Lastly, I've recently completed an entire game! Forgotten Paths is a puzzle game I made with a friend for the GMTK 2025 Game Jam. As far as I know, this is the biggest Game Jam ever at the time of this post, with over 9500 game submissions! Overall, we ranked very well. Our best ranking was 583rd in the Enjoyment category (The most important one!). The biggest thing I learned from this jam was the importance of clean and scalable code. Game Development is often wrought with scope creep. While this is a bad thing, if your game is coded to allow extending systems and features, it becomes much easier to manage and add new content. If you wanted to play the game, you can find it here.
These projects have taught me a lot about software development and have helped me grow as a programmer. I've learned how to develop scalable and maintainable systems, as well as how to work effectively in a team.
As of today, I still have plenty left to do to prepare for graduation. Not only do I have to make it through these last couple months, I also need to practice my coding skills and prepare for the job market. I plan to do this by working on some more projects. I have the bold plan to design and develop a complete project each month leading up to graduation. Another way of practice is that I intend on doing daily LeetCode problems and participating in coding contests.
Overall, I'm excited to see where my skills take me, and I'm looking forward to the challenges ahead!