"Bhaiya I am going to enter my college, so how to get started with coding?" I was getting this message from many students So colleges are going to start for the first year students I thought of creating a challenge for you people. This will give you a headstart + you will learn a lot from it Hi guys, I am Nishant Chahar. I am a software engineer at Microsoft In today's video, we are going to talk about the 90 days DSA challenge It is a type of a roadmap for you people. It will help you in deciding which topics you need to study when And accordingly, you can get started with DSA The prerequisite for this is that you must be knowing a language If you don't know any language, then no need to worry. Resources are linked in the video description, you can use them to learn a language in 10-15 days and after that you can start this challenge If you are in your first year, then you are free in November and December, so utilize this time for learning something If you are in 2nd-3rd year, then you might be already knowing a language because almost every branch have a course on programming, so you might be knowing a language The main problem is, we know what we have to study but we keep on procrastinating it We don't have a permanent source of motivation All those who are starting today, you can put it as Day1 and then put milestones of 30-60 or 90 days You can write that you have achieved this milestone, covered these many topics and also you can mention your future milestones All those students who will complete this 90 days DSA challenge, they will get a gift from my side How will I track your progress? There is a tool called Github You can use Github to upload your code.
All your progress will be saved in the form of a map. I will come to know that whether you have done something new in these 90 days or not You won't be coding on all days, so what you can do is, you can also upload your notes there I will put the link to the github tutorial in the description You will come to know how to use Github There are many other youtube tutorials for Github, you can follow any of them You have to share your milestones on LinkedIn, twitter, Instagram, facebook, etc where ever you want Don't forget to tag me in that It will act as a motivation for other people too Now let's get start with the video Take a screenshot which you will use while tagging me. Also like this video if you are finding it useful You can see on the screen On day 1&2 – learn about space and time complexity. This is one of the most important part of programming What is the execution time of your code, how much space it is taking, etc.
All these questions are very important People cover these topics after other concepts, but I will recommend covering them first, before starting with the other topics From day 3 to 10, you have to completely focus on recursion and backtracking You don't need to learn any other data structure to do recursion. Also you can practice 5-10 questions on recursion If your recursion is strong, then you will not face any difficulty in Dp, trees, graph and LinkedList That's why I have added it in the beginning, because it will provide motivation to you Now from Day 11-30, you can start with basic Data structures You can start with arrays and them move on to Linked List, stack and queues You can also practice questions on these topics. I have prepared a sheet of questions which I practiced during my placement You too can use that sheet for practicing questions The link is there in the description/comment section So in 30 days, we would have covered space/time complexity, recursion+backtracking, arrays, Linked List, Stack and queues After this, we can start participating in contests We can make our profile on Codechef, Codeforces and leetcode You can start with Leetcode.
You will be able to solve first 2 questions very easily. Even if you are not able to solve, then also you need not to worry much about it You should definitely start giving contests If any question is there from the topics which you haven't studied yet, then you can leave it for now But if you come to know about any new concept/trick related to the already studied topic, then you can note it down Leetcode conduct contests on Saturdays and Sundays On Saturday, it happens around 8 am in the morning, while on Sundays it happens around 8 pm in the evening These weekly contests will help you in maintaining your consistency Contests are really important, so don't miss them out. Before moving ahead, I would like to tell you people about a free resource where you will get lots of guided paths, practice questions like Leetcode You need to buy premium on Leetcode to see company tags and I don't like this thing But it is available for free on Code Studio So you must have understood that I am talking about Code Studio You get lots of guided paths for OS, DBMS, OOPS, CPP, Java, Python, Web dev, Html, CSS, NodeJS, etc All the step by step paths are available there for free Apart from this, if you don't know about Coding Ninjas, it is one of the largest Coding platform in India 20% off link is in the description, you can definitely check that out I told you about a list which I used during my placement, that list is also available on their website Though they have not added all the 300 questions(200-210 are there).
You can also see the company tags for every question You can check out the missing questions in the list Now let's come to Day 31 to 45 This section is very important because here we will be starting with bit complex data structures which are very important You will also have to study the algorithms like searching, sorting, hashmaps, etc In searching, you might be knowing linear search already, but you have to study binary search. It is a very important concept and many questions are asked from it In sorting, these are the 5 most used algorithms Bubble, selection, insertion, merge and quick sort Merge sorting takes place using recursion, so that's why I asked you to do recursion in the starting It will help you in Linkedlist, stack, queue too Then you have Harshmaps, Trees, Heaps and sliding window You have to practice questions of all these topics You can easily cover all these topics within 15-20 days You can extend this time line.
You can take it as a 100 day challenge instead of 90 days But if you will finish it in 90 days, then you will stay motivated because other students would also be with you Also you will get gifts if you will finish it in 90 days Now let's come to day 46-70. It is 25 days window Here you have to study the most important topics which are asked in most online assessment rounds these days – DP and Graphs You have to cover all these topics in graphs You can cover these topics one by one and keep on practicing their questions After this, you can come to DP.
It has two representations – Memoization and tabulation Memoization is recursion+storing results If your recursion is strong, then you won't face much difficulty in this 2nd one is Tabulation So whenever you have to do any question, you have to shift from memoization to Tabulation. You can't learn Dp if you will directly start writing Tabulated form of DP From 71 to 80, you can get started with OOPS You will get a special surprise when you will reach day 71-80 but you have to wait for it So you will be able to study OOPS from there I will provide my notes + other resources to learn OOPS All the links are available in the description and Doc There are other few topics which will help you in your online tests You can cover these topics in the last 10 days i.e. Number theory, Bit manipulation and Tries After this, lots of other fields get unlocked for you you can go for competitive programming – I have already made a video on that How to start with Codechef and How to start with Codeforces You can watch them out Also, I have a video on how to use Leetcode properly when you are practicing questions I have shared some hacks in that video So if you have watched this video till here, then share it with your friends The more you will learn in public, the more you will grow If you will have this mindset of studying alone, then you might lag behind, or your doubts may stay unresolved But if you will do peer programming with your friends, then you can ask your doubts, or discuss solutions of the contest questions once it is over So you will grow if you will collaborate it is a very important thing If you will have this mindset of studying alone, then you might lag behind So help each other and grow together Also you can start with Love Babbar Bhaiya's course.
Recently they have started their course on Language+DSA You can follow Striver also. He has already made a complete series on graph and trees You can also follow Fraz Bhaiya's channel – Lead Coding. So you have lots of resources these days, just don't get confused You just have to keep on learning You don't have to follow anyone blindly Be open to learning from everywhere Don't forget that Github stuff and 90 days milestone After 90 days, you have to put a story on Instagram or LinkedIn.
There you can mention that your 90 days are over You can also add your Github map over there. Also don't forget to tag me I will decide a special prize for those who will complete this challenge After checking that, I will DM you for your address, so that I could deliver your gift to you So if you liked this video, then hit that like button Subscribe to the channel if you haven't done till now You can write 'DSA 90 days OP" in chat And share it with your friends and grow together So this was for today's video, will see you in the next one Till then, Bye