Reynald begins the course discussing the reasons for this course. He covers points such as understanding the fundamentals of algorithms, developing skills for performant applications, and preparing for interviews. Each of these reasons play a key role in how the student will be guided in completing this course.
- [Instructor] The main purpose for this course is to get familiar with some of the fundamentals of algorithms, what they're about, what they're generally used for, and to get a good, comfortable sense of how to approach them when learning it and executing them. This is something that eventually the more advanced of a developer you become, the more likely you're going to have to eventually start using them. You may not use algorithms early on in your career, but as you begin working on much more intricate applications that need to be performant, you will eventually have to start using them.
So leads me to my second point. The better you become at using algorithms and understanding the different types of them, the better you'll be able to have the skills to write performant applications. That's one of the core benefits of using algorithms correctly. And one of the other reasons for this course is the fact that having a good, comfortable sense of working with algorithms is going to better prepare you for advanced interviews because whenever you're going to be interviewing for companies such as Amazon, Google, Microsoft, or even if it's not a big company like that, but one that works very advanced applications, they are going to ask you questions related to algorithms.
And this is a good start if you haven't really worked with any before.
- Working with linked lists
- Creating a stack
- Defining a queue
- Performing a binary search
- Finding target values with a linear search