From Frustration to Triumph: My Debugging Story as a School Student

From Frustration to Triumph: My Debugging Story as a School Student

ยท

15 min read

Hey Everyone!!!

My name is Atharva and I am a high school student who is passionate about programming, content writing and open-source. I am curious about the world of technology and how it can be used to make a difference in the world.

In this blog, I will be sharing one of my earliest tech experiences where I overcame a mountain of errors, submitted my code and aced a presentation !!!

Let's Begin !!!

Debugging Origins: The Bugs

Let me bring yall up to date by summarising the premise of my debugging adventure, In the style of Peter B Parker from Spider-Man: Into the Spider-Verse.

Alright guys, let's make this count. My name is Atharva, I was bitten by a radioactive spider the bug of coding, and this story is about a time when I was in tenth grade. At the beginning of the academic year, we had to choose an elective subject for the duration of 2 years - my choice? Computer Applications baby!

I'm pretty sure you know the rest. You see, I started coding, fell in love with it, got married to the IDE (which to my relief was not Notepad or MS Word), coded some more, maybe too much, my project got testy, made some dicey choices - half knowledge is dangerous! Then like two years passed, blah blah blah super boring, I broke my back debugging, imposter syndrome flew into my face, I buried my expectations, dug them out soon though and handled it like a champion.

[cut to me venting in the shower about how confusing recursion is!]

But that was just the oversimplification of the story I am about to tell. My message to the readers :

This was my first-ever introduction to coding. Ever since I wrote the holy "Hello World" program I was intrigued, mesmerised even. I spent most of my free time coding and learning new tricks. By the time this incident took place, I was well-versed in the language and comfortable with its syntax and coding techniques.

"A person decides to learn to code!"

"Hello World":

Enough about me, let's get into the plot! It was the last semester and as a part of the coursework, our task was to come up with an innovative Java project as a team of five, which would be presented to our class within a month. I was confident we could do this, and I was excited to work with all of my friends to make the project a success. I was also termed the group leader (it was way cooler than it sounds trust me!) I knew it was going to be a challenging journey, but little did I know that it would lead me to a path of endless frustration, coupled with a feeling of despair but (SPOILER ALERT) like Spider-Man my team and I completed the project and won the respect of our peers and our teacher.

Let my story of ups and downs begin!

2 Debugging 2 Bugs

As I embarked on this project, I knew there will be obstacles and challenges that I would have to overcome. Determined to succeed and eager to begin with a bang, I created a WhatsApp group for the project.

We needed to stay focused and work together as a team, and I was determined to succeed.

It was important that we communicated effectively with each other and establish a clear plan of action.I initially set achievable goals and deadlines and made sure that everyone was on the same page. By doing so, we ensured that we were making progress towards our goal and not getting sidetracked.

Saying that I was taking my role too seriously would be an understatement!

I even arranged a few zoom meetings !!!

Back then we had learnt to solve only basic programs using nested loops and arrays, strings - nothing fancy. Something like :

public class Pattern19
{
    public void displayPattern() {
        int a = 1;
        for (int i = 5; i > 0; i--) {
            for (int j = 1; j <= i; j++) {
                System.out.print(a++ + "\t");
            }
            System.out.println();
        }
    }
}

Hence the project that I decided to do was a bit complex for me but I hungered for a challenge. So I set out to create a more complex project, one that would test my abilities and push me beyond my limits. At first, the task seemed insurmountable, like climbing a mountain without ropes or gear. But as I dove deeper into the code, I found a rhythm and a drive that I had never known before. The challenge drove me, pushing me to learn more, to work harder, and to give everything I had to the task at hand. And though the road ahead was long and winding, I knew that with passion and perseverance, I could conquer it all plus I had my teammates to help me and ease the task of conquering the project.

Debugging 3: The Code Rises

Now, I was beyond thrilled to dive into my Java code for this project! The possibilities were endless and I couldn't wait to see where my skills would take me. With each line of code, I was building something impactful and fun (limited to the knowledge of a school student tho). I poured over textbooks, online resources, and coding forums, absorbing every bit of information I could find. Each day, I woke up with a renewed sense of purpose, eager to dive back into the project and see what new heights I could reach. It was a journey of self-discovery, one that tested not only my coding skills but also my resilience and determination. It was such an exciting time and reminiscing about it now makes me feel so fortunate to have had the opportunity to work on something that kinda shaped my future and lit the flames of curiosity in software.

My teammates and I started working on the code as planned and we tried to come up with a creative project with cohesive ideas and complimenting themes.

At that time, I didn't know anything about open source or GitHub so we used to share code through WhatsApp and Gmail ๐Ÿ˜‚

The Eternal Sunshine of the Spotless Code

About my project:

As I sat at my desk, I couldn't help but feel a sense of excitement and anticipation. I had been planning my next big project for weeks, and finally, everything was falling into place. My plan was to create a Java project that would showcase everything we had learned throughout the curriculum in the form of a virtual mall.

The mall would have multiple floors, each one dedicated to a different aspect of Java programming. There would be simple Java games, Java patterns, numbers programs, puzzles, quizzes and even basic array programs implementing simple data structures visually etc. Each floor would be packed with exciting challenges, designed to push the limits of what we as students could achieve with our newfound programming skills.

As I started to put my plan into action, I found myself getting lost in the creative process. I spent countless hours designing the mall, tweaking the layout and the colour scheme until it was perfect. I poured over every line of code, making sure that every detail was just right, and I found myself becoming increasingly passionate about the work that I was doing. It was a thrill to see everything coming together.

The process of creating the virtual mall was a challenging one, but it was also incredibly rewarding. From the very beginning, I knew that I wanted to create something that would be both engaging and informative, a project that would showcase the full range of what we had learned throughout the curriculum.

The Dawn of the Bug

Little did I know:

My initial enthusiasm for the virtual mall endeavour quickly turned to frustration and discouragement as I encountered bugs. I ran into a number of problems that seemed nearly insurmountable as I laboured on the code. After I resolved one bug, another one always seemed to appear, and I found myself spending countless hours attempting to identify the problem's root cause. It was as if the world had turned upside down.

I had the urge to give up on several occasions. No matter how hard I tried, it seemed like the problems would never stop. I looked through internet discussion boards and talked to my seniors, but nothing seemed to work. I wondered if I would ever be able to create a project that worked correctly as I grew more frustrated and agitated.

Debugging Wars: Episode IV - A New Hope

As I struggled with the bugs in my virtual mall project, I came across StackOverFlow for the first time without fully knowing it functioning in the quest for answers. I had heard that it was the go-to resource for programmers, a place where I could find solutions to even the most complex problems

.However, I grew increasingly confused as I looked through the pages of code and technical speak. It was like attempting to study a foreign language because the terms and ideas were totally foreign to me.

I made an effort to heed the tips and recommendations I discovered on the website, but it felt like I was spinning my wheels and circling in circles. For all the logic the code snippets and explanations made to me, they might as well have been written in hieroglyphics.

I occasionally thought I was in over my head. I thought as if an army of specialists online and older than me seemed to be defending the secrets of the programming world like it was an impenetrable fortress. How on earth could I possibly expect to comprehend something as difficult and obscure as Java programming, while I had barely scorched the surface?

Was I too ambitious??? Was I biting off more than I could chew??? Should I hold my flimsy ideas back???

I couldn't help but feel overwhelmed as I was wrestling with the bugs and errors that were plaguing the code. Had I overestimated my own abilities as a programmer, thinking that I could handle a project of this magnitude?

Maybe all I needed was to :

The Project, The Code and The Help

"I have to remind myself that some birds arenโ€™t meant to be caged. Their feathers are just too bright. And when they fly away, the part of you that knows it was a sin to lock them up does rejoice" โ€” Red, The Shawshank Redemption

Despite my frustration, I refused to give up. I knew that the virtual mall project had the potential to be something truly special, and I was determined to see it through to completion. So, I dug deep and redoubled my efforts, working tirelessly to track down the source of the bugs and fix them once and for all. Alas, I was stuck in limbo with nothing but a dead-end in front of me.

As I struggled to fix the bugs that plagued my virtual mall project, I knew that I couldn't do it alone. I needed help, guidance, and support from someone who had more experience and expertise than I did.

So, I turned to my computer applications teacher, hoping that she could provide some insight and direction. And she did not disappoint. She listened carefully to my concerns and questions and offered practical advice and suggestions that helped me make progress. Without giving me direct solutions of course as it would be unfair to other participants

When my computer applications teacher offered her guidance and support in my virtual mall project, she also imparted some valuable wisdom that has stayed with me to this day. She told me to believe in myself and my abilities as a programmer, and to trust in the knowledge and skills that I had acquired throughout our programming studies. She urged me to focus not on the bugs and challenges that lay before me, but on finding the right solution through a process of trial and error. And most importantly, she reminded me that setbacks and failures were not a sign of weakness or inadequacy, but rather an opportunity to learn and grow as a programmer.

It may sound a bit cheesy or clichรฉd, but those words of encouragement and advice gave me the confidence and motivation I needed to push through the difficulties and emerge victorious in the end.

The Perks of Being a Learner

After hours of retrospection, I decided to zoom out and tried to use a fresh perspective to solve the issue. And it clicked me - just reread your notebook dummy!!!

Though it was just the fundamentals of code and basic programs, I dove deep into my notebook, scouring its pages for any hints or tips that could help me fix the bugs. And to my surprise, I found the solutions I was looking for. It was like a lightbulb had switched on in my head, illuminating the path forward and giving me renewed hope and enthusiasm for the project. My project had problems regarding patterns in Java and as I reread my notes I found a personal cheat sheet that I had made for solving patterns problems.

It was something like this(do mind my handwriting) :

Another area of the project that needed some debugging was the java games. I will not lie at the beginning I had no idea how to make games using code, but I knew that starting from the smallest block of code would lead me to the victory lap. I referred to multiple sites after learning their workflow and tweaked it to make it original and more accustomed to my curriculum.

But it wasn't just me who was making progress. As a team, we rallied together, using our collective knowledge and experience to tackle the challenges of the project. We bounced ideas off each other, offered feedback and constructive criticism, and celebrated our victories and breakthroughs. And in the end, we managed it all. I was able to code several simple games and also managed to compile the different programs created by teammates into a virtual mall of sakes and create what we thought was some masterpiece ๐Ÿ˜†.

Some snippets of my project:

My most revered code of the project, made almost from scratch by going out of the prescribed curriculum syllabus - TicTacToe code :

Finally, we succeeded. The virtual mall project that had once seemed impossibly complex and unwieldy was now a shining example of our skills and abilities as beginner Java programmers. It was a testament to the power of teamwork, determination, and hard work, and a reminder that even the most daunting challenges can be overcome with the right mindset and approach.

The Debugging: Endgame

In the end, our hard work paid off. The virtual mall project was completed to our satisfaction, with every bug fixed and every element of the project carefully crafted and polished. And when we presented our project to our class and school, we were met with admiration and recognition for our efforts. Our project was even selected to be displayed on the school website, a testament to the quality and ingenuity of our work.

But the recognition we received was just the icing on the cake. The real reward was the satisfaction and pride we felt in ourselves for having completed such a challenging and complex project. We had proven to ourselves that we were capable of tackling even the most difficult programming problems and coming out on top.

And beyond that, we formed a strong bond as a team, united by a shared sense of purpose and a common goal. We learned to work together, communicate effectively, and trust in each other's abilities and contributions.

That experience stayed with me long after the virtual mall project was completed. It taught me that sometimes the greatest challenges can lead to the greatest rewards, and that success is often the result of hard work, perseverance, and a willingness to learn from our mistakes.

And perhaps most importantly, it showed me the power of collaboration and teamwork. When we work together, we can achieve great things that might be impossible to accomplish alone. And that lesson, I believe, is one that will serve me well in all aspects of my life, not just in programming.

Looking back on that experience now, I realize that it was the challenges and setbacks that made the project so rewarding. We overcame our doubts and fears, put in the hard work and dedication required to succeed, and emerged victorious on the other side. It was a reminder that with focus, determination, and a bit of guidance from our teacher, anything was possible.

The completion of the project had my friends and me like :

Conclusion: Back to the Future

That experience of working on the virtual mall project had a profound impact on my growth and development as a programmer and problem solver. It taught me many valuable lessons that I carry with me to this day, and that continue to shape my approach to programming and innovation.

For one, it taught me the importance of perseverance and grit when faced with difficult programming problems. The experience of struggling through bugs and challenges, of feeling frustrated and defeated at times, but pushing through regardless, instilled in me a deep sense of determination and resilience that I still draw on today.

Moreover, that experience showed me the power of collaboration and teamwork in solving complex problems. It taught me the value of bouncing ideas off of others, seeking out diverse perspectives and insights, and working together towards a common goal. These are skills that have served me well not just in programming but in all aspects of my life.

Perhaps most importantly, that experience taught me to be innovative and creative in my approach to programming. It showed me that there is often more than one way to solve a problem and that the most effective solutions are often the ones that are outside the box or unexpected. It taught me to think critically, to be curious and open-minded, and to constantly seek out new knowledge and ideas.

All of these lessons have helped shape me into the programmer and innovative thinker I am today. They continue to guide me in my work, pushing me to think creatively and approach problems with a sense of curiosity and determination. And for that, I will always be grateful for the experience of working on the virtual mall project, and for the lessons, it taught me along the way.

I hope you liked this blog, do react if you did so!!!

Stay determined, stay focused and keep pushing forward !!!

Liked This Blog?

Do react and comment with your thoughts on the points discussed above.

Make sure to follow me :

  1. ๐Ÿ’ป Twitter

  2. ๐Ÿ“š Hashnode

  3. ๐ŸŽ‰ Medium

  4. ๐Ÿ“ GitHub

  5. ๐Ÿ”ฅ LinkedIn

ย