What is competitive programming?
Competitive programming (CP) is a mind sport where participants solve well-defined algorithmic problems within time and resource constraints. It’s the foundation of the ICPC (International Collegiate Programming Contest) — the oldest and most prestigious programming competition in the world.Why competitive programming?
Sharpen your thinking
Develop strong problem-solving and analytical skills that translate to real-world software engineering.
Ace technical interviews
Most tech companies (Google, Meta, Amazon) base their interviews on CP-style problems.
Compete globally
Represent HNU at ICPC regionals and potentially the World Finals.
Build community
Learn alongside motivated peers who share your passion for problem solving.
Set up your environment
Choose a language
For competitive programming, we recommend:| Language | Pros | Recommendation |
|---|---|---|
| C++ | Fast execution, STL library, most CP resources | ⭐ Highly recommended |
| Python | Easy syntax, great for math problems | Good for beginners |
| Java | BigInteger support, verbose but reliable | Acceptable |
Most ICPC competitors use C++ because of its speed and the powerful Standard Template Library (STL). We recommend starting with C++ if you’re serious about competing.
Essential tools
- Code editor: VS Code with the C/C++ extension, or CLion
- Online judge account: Create accounts on Codeforces, AtCoder, and LeetCode
- Compiler: Install
g++(via MinGW on Windows, orbuild-essentialon Linux)
Your first program
What’s next?
How to practice
Learn effective practice strategies to improve consistently.
Start solving
Begin with our curated beginner problem sheet.