Hi everyone, this is my first blog.↵
↵
I have done competitive programming on and off in past few years, but never break the pupil barrier. Most of this time I was on job so didn't get much time after the work hours. I am trying to get back.↵
↵
I always had this question about how some people are able to jump quickly through pupil -> specialist -> expert (and so on), and other people struggle to transcend these levels. I initially believed it might be because they have practiced more than me and know more pattern matching, it is a common answer.↵
↵
But now I believe that practice might not be the only reason. There might be something specific about their thinking process and metacognition that makes them better at competitive programming. I want to ask this question to all the coders >= specialists, especially red coders.↵
↵
- Is it a different way of thinking about problems (when solving them)?↵
- A strong ability to find invariants and generalise better?↵
- More effective post-contest analysis?↵
- A better method of learning from failures/mistakes?↵
- A mental framework that help you improve rapidly?↵
- Mathematical fundamentals that help you think logically? (not the trivial divide and conquer)↵
↵
You can all drop your precious advice in this thread so others can enlightened. I want to understand the metacognition behind elite competitive programming.↵
↵
Along with these questions, I want to share a list of resources that I have collected/found online. You can add/share your resources/blogs too for others to read.↵
↵
- Competitive Programmer's Handbook (Book)↵
- https://cp-algorithms.com/↵
- https://usaco.guide/↵
- https://oi-wiki.org/↵
- Discrete Mathematics and Its Applications by Kenneth Rosen (Book)↵
- Cormen (of course! though academic)↵
↵
I have done competitive programming on and off in past few years, but never break the pupil barrier. Most of this time I was on job so didn't get much time after the work hours. I am trying to get back.↵
↵
I always had this question about how some people are able to jump quickly through pupil -> specialist -> expert (and so on), and other people struggle to transcend these levels. I initially believed it might be because they have practiced more than me and know more pattern matching, it is a common answer.↵
↵
But now I believe that practice might not be the only reason. There might be something specific about their thinking process and metacognition that makes them better at competitive programming. I want to ask this question to all the coders >= specialists, especially red coders.↵
↵
- Is it a different way of thinking about problems (when solving them)?↵
- A strong ability to find invariants and generalise better?↵
- More effective post-contest analysis?↵
- A better method of learning from failures/mistakes?↵
- A mental framework that help you improve rapidly?↵
- Mathematical fundamentals that help you think logically? (not the trivial divide and conquer)↵
↵
You can all drop your precious advice in this thread so others can enlightened. I want to understand the metacognition behind elite competitive programming.↵
↵
Along with these questions, I want to share a list of resources that I have collected/found online. You can add/share your resources/blogs too for others to read.↵
↵
- Competitive Programmer's Handbook (Book)↵
- https://cp-algorithms.com/↵
- https://usaco.guide/↵
- https://oi-wiki.org/↵
- Discrete Mathematics and Its Applications by Kenneth Rosen (Book)↵
- Cormen (of course! though academic)↵



