
- Computer Science
- Beginner
About this Course
Algorithms are a fundamental topic in computer science, power many of the largest companies today and are used in making many decisions that affect our day to day lives - in obvious places like Google's PageRank algorithm to more obscure use cases like national security and local policing.
In this introductory course, we're going to take our first steps towards understanding the world of algorithms and data structures. Before we can study individual algorithms we're going to spend time learning how to evaluate algorithms, how to make comparisons and how to develop algorithmic thinking
What you'll learn
- Algorithmic thinking
- Time and space complexity
- Big O notation
- Linear and binary search
Playing a Counting Game
Let's get a gentle introduction to algorithms by playing a simple game with two of my friends! Over the next few videos, we talk about algorithmic thinking, what an algorithm is and take our first look at two popular search algorithms
7 stepsTime Complexity
Over the last few videos we watched two of my friends play a game with different strategies and different end results. These strategies were examples of real world algorithms but we still don't have a good understanding of which one was better.
In this stage we're going to take a look at time complexity and measuring the efficiency of algorithms.
8 stepsAlgorithms in Code
So far we've only been looking at algorithms in the abstract but you're here to learn how to implement them as well!
Over the next few videos let's write code to implement both linear and binary search.
6 stepsRecursion and Space Complexity
We've seen how the runtime of algorithm can vary depending on the implementation and the size of the input but there's one measure of efficiency we haven't explored yet.
All algorithms run on computers and computers don't have infinite memory. Over the next few videos let's take a look at the memory cost of an algorithm as the input size grows, also known as space complexity.
4 stepsTeacher
-
Pasan Premaratne
Pasan spends most of his time learning and the rest trying to figure out how to pass that knowledge on to others. It's a hard job but he loves it all the same. You can find him everywhere as @pasanpr