We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Python Searching & Sorting Algorithms - A Practical Approach

Estefania Cassingena Navone

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.

Read more

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.

Enroll now

What's inside

Learning objectives

  • How to implement searching and sorting algorithms in python.
  • Visualize how they work behind the scenes as the code runs.
  • Compare the efficiency of these algorithms using big o notation.
  • Relate each line of code with its main purpose in the algorithm.
  • Learn the best case, the average case, and the worst case of each algorithm.
  • Explain how these algorithms work and apply them to new scenarios.

Syllabus

Welcome to the Course

You will find:

  • A brief introduction to the topic of the course and the evolution of searching and sorting algorithms.

Read more

You will find:

  • An interactive activity - Introduce yourself on the discussion forums.

Important Course Information and Resources

Celebrate your milestone with a collectible badge.

Quick Review: Lists, Tuples, and Algorithmic Time Complexity

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.

Lists | Hands-on Practice
Lists | Test 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.

Tuples | Hands-on Practice
Tuples | Test Your Knowledge

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.

Algorithmic Time Complexity | Test Your Knowledge

You will find:

  • Links to helpful resources to refresh your knowledge on recursion.

Quick Review | Mini Project
Let's Dive Into These Algorithms!

You will find:

  • A description of a possible bug that could occur when lists are extremely large and how to fix it.

Linear Search - The Most Intuitive Search Algorithm

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.

Linear Search | Algorithm

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.

Linear Search | Implementation & Code

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.

Implement Linear Search in Python
Section Quiz | Test Your Knowledge
Linear Search | Mini Project
You will be able to understand and implement the Binary Search Algorithm in Python

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.

Binary Search | Algorithm

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.

Binary Search | Implementation & Code

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.

Implement Binary Search
Binary Search | Mini Project
Bubble Sort - Your First Sorting Algorithm

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.

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.

Bubble Sort | Implementation & Code

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.

Implement Bubble Sort
Bubble Sort | Mini Project
You will be able to implement and understand the Selection Sort algorithm

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.

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.

Selection Sort | Implementation and Code

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.

Implement Selection Sort
Selection Sort | Mini Project
Insertion Sort - Build the List One By One
Quick Tip: How to Leave or Update Your Review

You will find:

  • A PDF Handout with a graphical summary of the Insertion Sort algorithm.

  • A .zip file with the slides for this section.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops a strong foundation for beginners seeking to start or build upon their knowledge in searching and sorting algorithms
Emphasizes the ‘why’ behind the ‘how’ to enhance learners' understanding and critical thinking
Taught by Estefania Cassingena Navone, who is an experienced instructor in computer science and algorithms
Leverages detailed slides, animations, and explanations to enhance visual and practical learning
May be less relevant for advanced learners seeking comprehensive or specialized knowledge in searching and sorting algorithms

Save this course

Save Python Searching & Sorting Algorithms - A Practical Approach to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python Searching & Sorting Algorithms - A Practical Approach with these activities:
Review the basics of Python
Ensure a strong foundation in Python, the programming language used in the course.
Browse courses on Python
Show steps
  • Review the basics of Python syntax.
  • Practice writing simple Python programs.
Find a mentor who can help you with sorting algorithms
Connect with someone who has experience with sorting algorithms and can provide guidance and support.
Browse courses on Sorting Algorithms
Show steps
  • Identify your learning goals.
  • Find a mentor who has experience with sorting algorithms.
  • Reach out to your mentor and introduce yourself.
  • Set up regular meetings with your mentor.
Compile a list of resources on sorting algorithms
Gather and organize resources on sorting algorithms for future reference.
Browse courses on Sorting Algorithms
Show steps
  • Find resources on sorting algorithms, such as articles, blog posts, and videos.
  • Organize the resources into a list or document.
  • Share your list of resources with others.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Write more code
Practice implementing the algorithms by coding them up yourself.
Browse courses on Sorting Algorithms
Show steps
  • Choose an algorithm to practice.
  • Implement the algorithm in Python.
  • Test your code with different inputs and compare the outputs to the expected results.
  • Repeat steps 1-3 for a variety of different algorithms.
Solve coding challenges
Apply your knowledge of sorting algorithms to solve coding challenges.
Browse courses on Sorting Algorithms
Show steps
  • Find a coding challenge website or platform.
  • Choose a challenge that involves sorting algorithms.
  • Solve the challenge using the sorting algorithm you learned in the course.
  • Repeat steps 2-3 for a variety of different challenges.
Build a sorting algorithm visualizer
Create a visual representation of a sorting algorithm to see how it works step by step.
Browse courses on Sorting Algorithms
Show steps
  • Choose a sorting algorithm to visualize.
  • Design the visual representation.
  • Implement the visual representation in Python.
  • Test your visualizer with different inputs and compare the outputs to the expected results.
Watch tutorials on advanced sorting algorithms
Expand your knowledge of sorting algorithms by watching tutorials on advanced techniques.
Browse courses on Sorting Algorithms
Show steps
  • Find tutorials on advanced sorting algorithms.
  • Watch the tutorials and take notes.
  • Try to implement the algorithms you learned in your own code.
Write a blog post about your favorite sorting algorithm
Share your knowledge and understanding of sorting algorithms by writing a blog post about them.
Browse courses on Sorting Algorithms
Show steps
  • Choose a sorting algorithm to write about.
  • Write a blog post that explains the algorithm, its advantages and disadvantages, and how it compares to other sorting algorithms.
  • Publish your blog post online.

Career center

Learners who complete Python Searching & Sorting Algorithms - A Practical Approach will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Python Searching & Sorting Algorithms - A Practical Approach.
Python Exercises for Beginners: Solve 100+ Coding...
Python Programming for Beginners: Learn to Code with...
Python OOP - Object Oriented Programming for Beginners
Python Loops and Looping Techniques: Beginner to Advanced
AI Fundamentals for Non-Data Scientists
Apache API Integration in Java Fundamentals
Python Best Practices: Learn to Write Clean Python Code
Blender 4 Visual Effects: Explosions, Destruction &...
Modern Robotics, Course 3: Robot Dynamics
Our mission

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.

Affiliate disclosure

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.

© 2016 - 2024 OpenCourser