I would've given update before, but couldn't make the time from the study. Today quickly setup this static website based on ghost, to update everyone about my journey. Hosted this website based on this article. Thanks "Mandeep Singh" for nice article.
It's already been a month i have started studying for fulltime. Here is my progress so far.
Speed read the The C Programming Language by K&R from chapter 1–7 to brush up my previous C knowledge (Took around 8 days). Although tried to do some exercises during first couple of chapters but later i skipped the exercises. Since this book sometimes assumes you have previous data structure and algorithm knowledge it might become harder to grasp. I plan to come back to this book again in near future.
During reading this book here are couple of resources i tried to see:
https://www.youtube.com/playlist?list=PL2_aWCzGMAwLZp6LMUKI3cc7pgGsasm2_ [This is awesome for understanding pointer. I would suggest to see this after you read K&R pointer chapters. It will clear your head for lot of the things. Will use this as a reference for later.]
Once completed next tried to complete this video series on data structures. Seriously, this one is by far the best i have seen so far. Data Structure by mycodeschool. I tried to go through the full course step by step while practicing with pen & paper.
In the mean time bought a whiteboard and bought bunch of algorithm and data structure books for study. Bought a printer, more pen and paper. Prepared all the things necessary for me to keep studying hard.
But when it comes to computer science, study is not enough you have to practice, so i signed up for leetcode and started problem solving.
At the time of this writing i solved 35 questions from leetcode. Here is my profile if you are interested: https://leetcode.com/nextsde/
During leetcode problem solving i felt i needed to remind myself some of the discrete math that i did 12 years ago. Found this great course, Discrete Math by Shai Simonson. Highly recommend this course to anyone who wants to build their career on software engineering. I skimmed through the whole course within 9-10 days. I wanted to start the data structure or algorithm study as early as possible that is why for some of video tutorials or courses i was skimming through them as fast as i could while for others like Data Structures by mycodeschool, i was taking my time to get the concept as well as practice those concept.
Once completed now it's time to start some algorithm course. Currently i am trying finish this course https://www.youtube.com/playlist?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b by Prof. Steven Skiena. As a companion i would see other courses as well but for algorithm i will finish this one.
There are two reason i choose this course, first one is, in every lecture Prof. Steven Skiena actually tries to solve some problem by taking students input. Which helps a lot by giving intuition about how to think and how you should approach a problem. Another is, he uses his own book "The Algorithm Design Manual" as a reference which is really really helpful. Because i can follow along easily. While MIT or Coursera also has some great courses on algorithm or data structure i will study them as a companion later on but at first my current target is to complete Prof. Steven Skiena's algorithm course while also completing his book as well.
During skiena's course i had to pause a little. Since i wanted to follow his course and his book as thoroughly as possible i was getting stuck during sorting since he was referencing balanced binary search tree a lot. And he assumed student already knows how to use balanced binary search tree that is why i had to pause to find some material on balanced BST. Found and skimmed through these courses from coursera on data structures and advanced data structures. Again skimmed through all the video's as quickly as possible since i wanted to get back on skiena's lecture.
Hopefully from tomorrow i will be able to resume my study on "The Algorithm Design Manual" again.
In the meantime also decided to put at least 2 hours for leetcode problem solving so that anything i learn i can apply by doing problem solving daily.
Will give more update as i progress.
BTW, don't be overwhelmed since this update is for a full month. And i am constantly putting at least 10-12 hours of study for my preparation.
Will update again as i make progress. See you later...