DEV Community

Jayashakthi Vishnu
Jayashakthi Vishnu

Posted on

C/C++ Roadmap

Basic Learning:-
Start off with the basics and know how the language actually works. Then study about data types, functions, Classes and some important libraries in that language.
I personally prefer Geeks for geeks for such things.
C: https://www.geeksforgeeks.org/c-programming-language/
C++: https://www.geeksforgeeks.org/c-plus-plus/
There are many other sites like codeacademy,tutorialspoint,javatpoint,etc.. You can explore these sites also.
Practice :-
Then simultaneously solve problems in hackerrank,hackerearth,etc.
I personally recommend hackerrank's language problems for beginners , because this gives you a confidence about the language so that you fearlessly say I know C/C++. Try to get atleast two stars in hackerrank C/C++.
C: https://www.hackerrank.com/domains/c
C++: https://www.hackerrank.com/domains/cpp
Data Structures and Algorithms :-
Then learn about datastructures and algorithms concept . Because many problems can be solved easily with this. If you know atleast array,linked list,stack,queue,map then you are ready to go. Learn how other data structures work. And then there are many algorithms for sorting,greedy,etc...Don't get tensed about these. These are easy to learn. Implement the datastructures with help of Class/struct and you would be able to know how they work.
Data structures: https://www.geeksforgeeks.org/data-structures/
Algorithms: https://www.geeksforgeeks.org/fundamentals-of-algorithms/
Atleast learn those datastructures I mentioned above and you can learn algorithms later.
Solve Problems Easy :-
Then here comes the next great step for solving problems easy in any competitive sites. For this you should learn C++.
There is a library called STL in C++ which contains all the data structures and some algorithms predefined for you , So that you can use this to solve problems easily . Learn the implementation of vector, stack, queue, map and you are ready to go.
STL:https://www.geeksforgeeks.org/the-c-standard-template-library-stl/
After learning these things solve problems in hackerrank, leetcode , codechef, hackerearth, etc. with the help of STL. For beginners start with hackerrank, then go with other sites.
If you don't know how to solve a problem after many tries, then don't get panic go to the discussion forum section in that problem and see how to solve problems discussed by many other people.
If you are mentioning a language in your resume then you should know the OOPS Concept of that language , keep these things in mind and mention accordingly.
Disclaimer:-
If you want to learn any new language means don't start with python or js instead go with c/c++,java. All these things I mentioned above are my own thougths and I am sorry if I have mentioned anything wrong. And finally Don't compare yourself with others, just take a step everyday , wether it is a small step or big step forward is forward . Cheers guys..Happy learning 😁

Discussion (0)