Learn how to implement Searching and Sorting algorithms in Python. Understand how they work behind the scenes through a detailed visual and practical approach. Be able to relate each line of code to the actual inner workings of the algorithms as they run.
Learn how to implement Searching and Sorting algorithms in Python. Understand how they work behind the scenes through a detailed visual and practical approach. Be able to relate each line of code to the actual inner workings of the algorithms as they run.
Enter the World of Computer Science and Algorithms with the Right Skills.
Learn how to implement these algorithms in Python.
Be able to explain how they work behind the scenes.
Learn how to compare them based on their efficiency.
Be able to apply them to new scenarios.
Add New Skills To Your Algorithmic Toolbox
Basic knowledge of algorithms is vital for every developer. Searching and Sorting algorithms is a key topic commonly asked during technical interviews. Be one step ahead of your competition by learning these skills with this on-demand course. Python is the most popular and approachable programming language and its popularity continues to rise year-over-year.
Having a firm grasp of Searching and Sorting algorithms will not only help you during your job search, it will also enhance your computational thinking skills. Be able to dive into more advanced algorithms with the solid foundation that this course provides. With detailed and didactic slides, animations, explanations, and exercises, you will dive into the world of algorithms through an engaging and practical learning experience.
Content & Overview
With high quality video lectures that include graphics and animations, you will learn the following algorithms:
Linear Search
Binary Search
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quicksort
You will also learn how to use the timeit module to time the execution of small code snippets.
Course by the Numbers
1,050+ PDF slides.
96+ quiz questions.
23+ Downloadable Python files.
10+ PDF handouts.
10 coding exercises.
9 mini projects.
Learning Material & Practice:
High-Quality Video Lectures - Carefully designed graphics and animations.
Coding Exercises with detailed solutions - Execute and test your code directly in the browser.
Mini Projects with detailed solutions - Dive deeper into each algorithm by completing a mini project per section.
Quizzes - Test your knowledge and receive instant feedback.
Code with Print Statements - See how the algorithms work behind the scenes as the code runs.
PDF Handouts - Each section has a PDF handout with a graphical and detailed summary of the algorithm.
PDF Slides - You can download the PDF slides displayed in the videos.
Articles - Detailed descriptions of key aspects of the topics to complement your knowledge.
Why is this course unique?
This course is unique because of its emphasis on providing visual and detailed explanations of how the algorithms work behind the scenes, so you will not only learn how to implement them in Python, you will also learn how they work in such detail that you will be able to explain and visualize the steps of the process, given a particular input.
You will see how the algorithms work behind the scenes as the code runs with downloadable Python files that contain implementations with carefully designed print statements. No more trying to guess what is happening behind the scenes when the algorithm runs.
You will have access to unique downloadable PDF handouts specially designed for the course (one per section) with complete and graphical descriptions of the algorithms.
If you need to learn or refresh the basics of lists, tuples, and algorithmic time complexity, the course has you covered. The Quick Refresher section offers a short but comprehensive introduction to these topics through interactive video lectures, exercises, and didactic PDF handouts.
You will check your knowledge with short Quizzes after each main lecture. The Quizzes provide instant feedback, so you can see the correct answer immediately. The quiz questions were designed to make you think more deeply about the topics presented.
You will be able to download the PDF slides used in the videos, so you can take your learning material with you even if you don't have an internet connection when you commute to work. Study algorithms anywhere, at any time.
Finally, you will practice communications skills in the Mini Projects (one per section), where you will explain how the algorithms work step by step when they are applied to a particular input. Each mini project comes with a sample answer, so you will always be able to check your solution. Being able to explain how the algorithms work is a key skill during interviews.
You are very welcome to watch the preview lectures and check out the full course curriculum.
What are you waiting for? If you are looking for an engaging, visual, and practical course, you've found it.
Add "Searching and Sorting Algorithms in Python" to your resume and showcase your new skills.
You will find:
A brief introduction to the topic of the course and the evolution of searching and sorting algorithms.
You will find:
An interactive activity - Introduce yourself on the discussion forums.
Celebrate your milestone with a collectible badge.
You will find:
A brief description of the purpose of the quick refresher section.
Brief introduction to this section.
In this article you will find the study material for this section:
PDF Handout with a summary of the main aspects of Lists, Tuples, and Algorithmic Complexity.
PDF Handout with Practice Exercises.
PDF Handout with an explanation of slicing in Python.
A .zip file with the slides for this section.
You will learn:
The concept of "Algorithm" and key concepts related to algorithms.
You will learn:
The main characteristics of Lists.
How to use indices to access the elements of a List.
That Lists are Mutable and its implications.
How to traverse lists using for loops in Python.
How to use Lists built-in methods and Python functions to work with Lists.
These items are first explained and then they are demonstrated during a coding session during the lecture.
You will find:
Links to helpful resources and readings to complement your knowledge.
You will learn:
The main characteristics of Tuples.
How to use indices to access the elements of a Tuple.
That Tuples are Immutable and its implications.
How to traverse tuples using for loops in Python.
How to use Tuples' built-in methods and Python functions to work with them.
These items are first explained and then they are demonstrated during a coding session during the lecture.
You will find:
A detailed description of the key aspects of slicing in Python.
A PDF handout with this description.
You will find:
A link to download the PDF Handout with more challenging practice exercises on lists and tuples.
You will learn:
The concept of Algorithmic Time Complexity.
The different Orders of Growth.
The concepts of best case, average case, and worst case.
How to compare algorithms using Big O notation.
Why this concept is needed to learn Searching and Sorting Algorithms.
You will learn:
The meaning of c in the expression presented for Big O Notation.
You will find:
Links to helpful resources to complement your knowledge.
You will find:
Links to helpful resources to refresh your knowledge on recursion.
You will find:
A description of a possible bug that could occur when lists are extremely large and how to fix it.
You will find:
A brief introduction to the topics presented in this section.
You will find:
A PDF Handout with a graphical summary of the Linear Search algorithm.
A .zip file with the slides used during this section.
You will learn:
How the Linear Search Algorithm works step by step.
How the algorithm can be applied to a simple example.
You will learn:
How to implement the Linear Search Algorithm in Python.
What each line of code represents in the algorithm.
You will find:
The Python implementation of this algorithm.
You will learn:
The time complexity of the Liner Search Algorithm for the best case, average case, and worst case.
You will find:
A step-by-step example of the algorithm using strings.
You will find:
A brief explanation of the topics and activities in this section.
You will find:
A PDF Handout with a graphical summary of the Binary Search algorithm.
A .zip file with the slides for this section.
You will learn:
How the Binary Search algorithm works behind the scenes with step-by-step explanations.
This lecture incorporates carefully designed graphics and animations to illustrate the process.
You will learn:
How to implement the Binary Search algorithm in Python.
How to relate each line of code in the implementation to the actual process. This explanation uses carefully designed graphics and animations to illustrate the process.
You will find:
The iterative implementation of the Binary Search algorithm in Python.
You will learn:
How the recursive implementation of the Binary Search algorithm works behind the scenes.
This lecture includes carefully designed graphics and animations to illustrate the process.
You will find:
The Python code of a recursive implementation of the Binary Search Algorithm.
You will find:
An example of the Binary Search algorithm running with larger inputs.
You will learn:
The best-case, average-case, and worst-case time complexity of the Binary Search algorithm.
You will find:
A step-by-step explanation of the Binary Search algorithm applied to a list of integers.
Carefully designed graphics and animations to illustrate the process.
You will find:
A step-by-step explanation of the Binary Search algorithm applied to a list of strings.
Carefully designed graphics and animations to illustrate the process.
You will find:
A brief description of the topics and activities for this section.
You will find:
A PDF Handout with a graphical summary of the Bubble Sort algorithm.
A .zip file with the slides for this section.
You will find:
A brief description of important sorting terminology.
You will find:
A carefully designed visual walkthrough of the Bubble Sort algorithm.
You will find:
A step-by-step walkthrough of the Python implementation of the basic and optimized versions of the Bubble Sort algorithm.
You will find:
The Python code of an implementation of the Bubble Sort Algorithm.
You will find:
The Python code of an optimized implementation of the Bubble Sort Algorithm.
You will find:
A description of the best-case, average-case, and worst-case time complexities of the Bubble Sort algorithm.
You will find:
A step-by-step example of the Bubble Sort algorithm applied to a list of numbers.
Carefully designed graphics and animations to explain the process.
You will find:
A step-by-step example of the Bubble Sort algorithm applied to a list of strings.
Carefully designed graphics and animations to explain the process.
You will find:
A PDF Handout with a graphical summary of the Selection Sort algorithm.
A .zip file with the slides for this section.
You will find:
A carefully designed visual walkthrough of the Selection Sort algorithm.
You will find:
A step-by-step walkthrough of the Python implementation of the Selection Sort algorithm.
You will find:
The Python code with an implementation of the Selection Sort Algorithm.
You will find:
A description of the best-case, average-case, and worst-case time complexities of the Selection Sort algorithm.
You will find:
A step-by-step example of the Selection Sort algorithm applied to a list of numbers.
Carefully designed graphics and animations to explain the process.
You will find:
A brief explanation of the terminology used to work with strings during the course.
You will find:
A step-by-step example of the Selection Sort algorithm applied to a list of strings.
Carefully designed graphics and animations to explain the process.
You will find:
A PDF Handout with a graphical summary of the Insertion Sort algorithm.
A .zip file with the slides for this section.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.