How Iβm Learning C++ and DSA as a CSE Student π
As a Computer Science student, one of the areas Iβve been focusing on is problem solving through C++ and Data Structures & Algorithms (DSA).
When I started competitive programming, I realized that learning a programming language is only the beginning. The real challenge is learning how to think about a problem, find an efficient approach, and implement it correctly.
Why I Chose C++
I decided to focus on C++ because it gives me a strong foundation for problem solving and competitive programming.
Some of the things Iβm currently working with are:
- C++ fundamentals
- STL
- Arrays and Strings
- Linked Lists
- Stacks and Queues
- Sorting and Searching
- Recursion
- Greedy algorithms
- Basic problem-solving patterns
The STL has been especially useful because containers such as vector, set, map, and unordered_map make it easier to focus on the actual problem rather than implementing everything from scratch.
My Approach to DSA
Instead of only watching tutorials, Iβm trying to learn DSA by actually solving problems.
My current process is:
- Understand the problem carefully.
- Think about a simple approach.
- Check its time and space complexity.
- Look for a more efficient solution.
- Implement it in C++.
- Test it with different cases.
- Review the solution and understand what I could improve.
This process has helped me understand that DSA is not about memorizing solutions. It is about recognizing patterns and developing a systematic way of thinking.
Competitive Programming
Iβm also exploring competitive programming through platforms such as LeetCode and Codeforces.
Competitive programming has taught me some important lessons:
- Read the constraints before solving.
- Think about complexity before coding.
- Test edge cases.
- Don't give up when the first approach fails.
- Learn from wrong submissions.
- Practice consistently.
Some problems that look simple at first can require a completely different approach once the constraints become large.
What Iβm Building Alongside DSA
I donβt want my learning to be limited to solving problems.
Alongside DSA, Iβm also exploring:
- Backend development
- AI/ML
- Full-stack development
- Open source
- AI-powered applications
Building projects helps me connect programming concepts with real-world applications.
For me, the combination of DSA + development + projects is helping me understand both problem solving and software development.
What Iβm Learning From This Journey
The biggest lesson so far is that consistency matters more than trying to learn everything at once.
There are days when a problem takes only a few minutes, and there are days when I spend much longer trying to understand a solution.
Both are part of the learning process.
Iβm still learning, experimenting, and improving one problem at a time.
What's Next?
My next goals are to:
- Improve my DSA skills
- Solve more medium-level problems
- Participate in more competitive programming contests
- Build stronger backend and AI projects
- Contribute to open source
- Document what I learn along the way
Iβm excited to continue this journey and share more of my learning here on DEV.
If you're also learning C++, DSA, competitive programming, AI, or software development, feel free to connect and share what you're working on! π
One problem. One project. One lesson at a time. π
Top comments (0)