Why Learn Algorithms?
Senior developers need to have an understanding of algorithmic complexity in order to be proficient in developing fast applications. Many new developers, especially those without formal training, never had the chance to learn these computer science basics.
This course begins with an overview of Big-O analysis, complexity classes, and the math required to complete the course. Next, we code some of the most common sorting algorithms right in the browser and determine their Big-O complexity. Finally we dive into the basics of complexity theory – polynomial vs nondeterministic polynomial time.
The majority of Big-O Algorithms consists of multi-choice style questions accompanied by explanatory excerpts, though there are many hands-on coding exercises as well. The coding projects in this course are all written in Go, a language becoming more and more important for backend systems engineers. If you are new to Go, take the Go Mastery course first.
Also be sure to check out the sequel, Big-O Data Structures. That course builds on the concepts introduced here for a deeper look at Big-O analysis.