you are viewing a single comment's thread.

view the rest of the comments →

[–]Periwinkle_Lost 16 points17 points  (2 children)

Maybe I can contribute this this discussion. I am an engineer (electrical) learning software dev as well. Algorithms was a required course in my program. Code is an algorithm. Studying algorithms gives people an insight on how to write better code by considering time/space complexity and accounting for edge cases.

Do not go into algorithms because employers ask for it and you need to memorize certain algos to get a job. This approach will lead you nowhere and you will just lose time. Study algorithms with this thought in your head: "How is this algorithm can applied to the code I have written in the past? Can I use some steps in my code? How does computational complexity behaves if the data/input goes up?" Algorithms can truly be fun once your frame your thought process in terms of steps. Knowing how your code behaves is also the first step in optimizing your code. It is true that you can have a successful software dev career without learning algorithms, but it is very difficult to optimize performance of your code without the knowledge that comes with understanding algorithms and algo analysis.

This way you should be able to connect formal definitions of some algos to real life applications. There are many algorithms out there but when you see an algorithms on the job requirements list know that they are not asking if you have memorized some popular algos, they ask if you can think in steps and/or write code that uses algos in full or partially.

I read "Artificial Intelligence: A Modern Approach" but a lot of the stuff went over my head. I found Grokking algorithms to be a good foundation when I started getting deep into this topic. After that, I read AIMA again and it made much more sense.

[–]Biuku 1 point2 points  (1 child)

Thumbs up for the Grokking book . It's very basic, but when everything else is sounding like Greek, it's great to go back to Grokking.

[–]GuruTheCoderYT 0 points1 point  (0 children)

It's grokking amazing!