Solidify understanding of what an algorithm is and why they’re important to computer science and other fields.
Gain a basic understanding of why certain algorithms perform better than others.
There’s often more than one way to solve the same problem. Certain solutions will be superior to others, but very often choosing a solution will require evaluating a list of trade-offs relevant to your particular situation.
Practice implementing algorithms that were discussed verbally.
Memoization is a technique that can be used for improving the performance of algorithms with repeated calculations at the expense of a higher memory requirement.
Hiding algorithmic details behind a layer of abstraction makes it easier to upgrade or adjust your implementation in the future.