A hero's Journey
This is my journey to mastering data structures and algorithms, both for myself,helpinng further develop my coding and analitical skills, as well as for being able to have an opportunity at** cracking the coding interview**. I plan to record my daily grid, working withLeetCode and its platform of coding challenges.
The materials and resources I will be using are:
SeanPrashad LeetCode patternsGrokking the Coding InterviewUdemy Mastering DSA
Sean Prashad LeetCode Patterns
A list of the best LeetCode questions that teach you core concepts and techniques for each category/type of problems. His list is for any individual wanting to improve their problem solving skills for software engineering interviews.Problems are grouped under their respective subtopic, in order to focus on repeatedly applying common patterns rather than randomly tackling questions.All questions are available on LeetCode
Grokking the Coding Interview: Patterns for Coding Questions
The site is dedicated to help give:
the ability to map a new problem to an already known problem.
They help candidates with that, we've come up with a list of 16 patterns for coding questions, based on similarities in the techniques needed to solve them. As a result, once you're familiar with a pattern, you'll be able to solve dozens of problems with it.
JavaScript Algorithms and Data Structure Masterclass
A Udemy course by Colt Steele on teaching you how to analyze your code’s time and space complexity using Big O notation. We cover the ins and outs of Recursion. We learn a 5-step approach to solving any difficult coding problem. We cover common programming patterns. We implement populars searching algorithms.
Master Algorithms and Data Structure through deliberate practice
deliberate practice is:
Special type of practice that is purposeful and systematic.
deliberate practice, is the opposite of some regular practice, that is just mindlessly doing the same repetitions, it's being conscience about your practice and concentration on the task at hand. Focusing on practice that becomes much more difficult and extends your abilities. deliberate practice was researched by Psychologist K. Anders Ericsson, a professor of Psychology, how expert one becomes at a skill has more to do with how one practises than with merely performing a skill a large number of times. An expert breaks down the skills that are required to be expert and focuses on improving those skill chunks during practice or day-to-day activities, often paired with immediate coaching feedback. The second important point of deliberate practice is continually practising a skill at more challenging levels with the intention of mastering it.
How to apply deliberate practice with coding
First we need to have a clear outline of what needs to be practiced and how one needs to practice. I willbe following the aforementioned resources. 2nd Deliberate practice requires that we challenge of ourselve and always be doing +1 from our normal level. 3rd Extreme focus and follow a well layout plan. 4th Feedback is a required component that can be obtain through the means of the challenge's solutions, videos: YouTube, Udemy. and immediate feedback can be recieved.Other services Reddit, Discord can also be of help for immediate feedback. 5th And lastly, deliberate practicerequires a precise mental model, a mental representation of the skill that needs to be performed. Having an accuratemental model of the algorithms and their correct syntax is vital.
GRIT
To persevere and succeed in the face of adversity. Continue focusing on the material with which one struggles.If one applies grit on their work, one's effort will increase and improve. As Angela Duckworth, states:
as much as talent counts, effort counts twice!
...there are no shortcuts to excellence. Developing real expertise, figuring out really hard problems, it all takes time―longer than most people imagine....you've got to apply those skills and produce goods or services that are valuable to people....Grit is about working on something you care about so much that you're willing to stay loyal to it...it's doing what you love, but not just falling in love―staying in love!
The 40% Rule
When your mind tells you it’s quitting time, you are actually only 40% spent. David Goggins.
Sources:
-delibarate practice-Become a Great Programmer Through Deliberate Practice