Please read the new rule regarding the restriction on the use of AI tools. ×

seedeku's blog

By seedeku, history, 2 hours ago, In English

Hi everyone! I’m a first-year BCA student currently learning Java and stepping into the world of competitive programming. I started just a couple of months ago, and my current rating on Codeforces is 358. It’s still low, but I’ve learned a lot along the way, and I’m excited to share my experience, struggles, and progress with you all!

  1. Why I Chose Java for Competitive Programming As someone new to coding, I decided to start with Java because of its clear syntax and powerful libraries. Initially, I had challenges with handling input and output efficiently in Java during contests. But after practice and learning from mistakes, I found the right balance between performance and readability.

Here are a few tips for those who are new to Java in competitive programming:

Use BufferedReader and PrintWriter for fast I/O to avoid time limit exceeded (TLE) errors. Always check the time complexity of in-built functions, especially for collections like ArrayList and HashMap. Don’t forget to take care of edge cases like large inputs, as Java tends to be a bit slower compared to languages like C++. 2. How I Got into Competitive Programming as a BCA Student Being from a tier-3 college, I knew I had to focus on self-learning and practice to compete at a higher level. I started by solving basic programming problems on HackerRank, which helped me understand the fundamentals of loops, conditions, arrays, and basic data structures. Once I felt more confident, I started participating in contests on Codeforces.

Initially, I struggled a lot, especially with problems involving math (I don’t enjoy pure maths), but I love coding, and that's what kept me going. Every time I failed, I would solve the problem again and again until I got it right.

  1. Reaching 358 Rating: What Worked for Me Here are some strategies that helped me reach my current rating:

Start Small: I began by solving A and B level problems in contests. These are usually easier and help build up confidence. Focus on Arrays and Basic DSA: Since I had just finished learning arrays, I made sure to practice a lot of array-based problems. It gave me a strong foundation for tackling other data structures. Virtual Contests: When I couldn’t participate in live contests, I would take part in virtual contests, which helped me simulate the real contest environment. Consistency: I try to solve at least 2-3 problems a day, focusing on improving my weak areas. This has been a game-changer in improving my problem-solving skills. 4. What’s Next? My Plan to Reach 1000+ Rating My next goal is to improve my rating to 1000+ by focusing on mastering Data Structures and Algorithms (DSA). I know that solving harder problems requires a strong understanding of DSA, so I plan to deep dive into topics like:

Dynamic Programming (DP) Greedy Algorithms Graphs (Once I’m comfortable with the basics) I’ll be documenting my journey and sharing the resources and techniques that help me improve.

  1. Tips for Fellow Beginners If you’re just starting out in competitive programming, here’s what I’ve learned:

Don’t be afraid to fail: It’s easy to get demotivated after a contest where you don’t perform well. But every mistake is a chance to learn. Set realistic goals: Start with easy problems and gradually increase the difficulty level. This helps avoid burnout and keeps you motivated. Join communities: Although I’m still working on building connections (I’m an introvert, so it’s hard), joining coding groups and discussions on Codeforces has been helpful for learning new techniques. 6. Final Thoughts My journey in competitive programming is still in its early stages, but I’m excited to keep growing, learning, and solving more challenging problems. The road to mastering competitive programming is tough, but with consistent effort, anyone can improve.

I would love to connect with other beginners or experienced coders to share tips and learn from each other. Let’s grow together and reach our goals!

Feel free to leave your comments, feedback, or questions. I’m happy to help or learn from your experiences as well!

Happy coding!

  • Vote: I like it
  • -15
  • Vote: I do not like it