Competitive Programming - The Journey

Competitive Programming - The Journey

   ~1 min read


🎧 Play This Article


In late 2014, the Computer Science and Engineering department of BRAC University hired a trainer to prepare its students for various national-level programming contests. I attended the training session, which is how I became seriously involved in competitive programming.

However, I quickly realized that I lacked the critical thinking skills required to solve programming problems. As a result, I had difficulty coming up with solutions, was slow, and constantly needed help from the internet. My performance was terrible in practice contests.

To improve, I needed more practice. I started solving more problems on UVa Online Judge, where I solved over 700 problems in just three years. Solving problems in bulk helped me:

  • Improve my typing speed
  • Find solutions to problems faster
  • Learn about various built-in functions of my preferred programming language
  • Become comfortable writing code for complicated solutions

In mid-2015, the trainer’s contract was not renewed, so my training session peers and I took the initiative of training our juniors. We taught them various algorithms, data structures, and strategies and prepared problem sets for practice.

Being a trainer helped me learn a great deal. I constantly had to ensure that I fully understood the concepts of the topics I was teaching so that I could clear any doubts and answer any questions my juniors had. I even learned a lot by reading other people’s code, such as new algorithms, concise code expressions, and useful built-in functions of my preferred programming language.

There is much more I would like to share, but that will have to wait for another post. Until then, happy coding!

If you appreciate what I do and wish to support my work, you can consider buying me a coffee
Tahanima Chowdhury
Tahanima Chowdhury Tahanima is the author of this blog. She is an avid open source contributor.