Algorithms for the Love of It
Because we love Computer Science!
- It is extremely easy to forget this stuff unless you find a way to involve it in your everyday life (context) - always, always try to find some kind of relationship between these concepts and your every day code, no matter how obscure!
- Memorization is very important - do not believe otherwise!
- If you come from a developer bootcamp / didn't study computer science in school background - a big mistake many people make is diving into a college level algorithms class first. Most of the basics of algorithms are covered in a freshman level Data Structures class. I highly recommend shelling out for a 800 or 900 page college data structures book. The problem with online classes is that they condense too much information into short 5 minute sound bites, when what you really need is hundreds of hours of lectures and an even thicker textbook. The stanford iOS class isn't an algorithms class, but it teaches basic iOS development and is one of the best online courses out there. it is hundreds of hours of lectures and each lecture comes with hundreds of pages of notes. so yeah, that's why you aren't learning algorithms: industrialized learning with a few multiple choice questions in-between 5 minute sound bites isn't going to cut it. Once I got my hands on a Data Structures text book I felt much less overwhelmed, and the lengthier explanations and examples made the coursework easier to understand. You honestly aren't going to encounter this stuff very often in your day to day life as a software engineer, but it's fun stuff to know and should be a good hobby you keep up unless you luck out and get one of those rare dream jobs at Google or academia.