Python Searching & Sorting Algorithms - A Practical Approach
What you'll learn
- 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.
Requirements
- You will need to have Python 3 installed in your device.
- Basic Python Knowledge such as data types, variables, loops, conditionals, and functions.
- The Quick Refresher section offers a quick introduction to lists, tuples, and algorithmic time complexity.
- Basic Knowledge of Recursion - This is required for certain algorithms, so I provide links to helpful resources in case you need to refresh your knowledge.
Description
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!
Who this course is for:
- New programmers who have learned the basics of Python.
- Developers who wish to expand their algorithmic toolbox.
- Self-taught developers and Computer Science Students.
- Programmers who need to refresh their knowledge.
- Developers who are preparing for an interview.
Instructor
I'm Estefania. I love teaching. I'm a Web Developer with experience in Python, JavaScript, HTML, CSS, React, and other web technologies.
My goal is to create engaging courses where you will learn programming and understand it so well that you will be able to apply your knowledge to new situations, projects, and professional opportunities. I know that learning how to code can be challenging, but I'm here to make your journey smoother and to help you create memories that you will never forget about how you learned how to code.
I currently have 11,000+ students and 10+ courses on Udemy and my top priority is to support you by answering every single one of your questions. I'm here to help you, so please do not hesitate to ask if you ever have a question during my courses.
I believe that detailed and clear explanations combined with the power of visual learning materials create the learning experience that every learner deserves. That is the experience that I want to give you during my courses.
Coding is amazing. I love programming, data structures, algorithms, and I know what it feels like when you learn something new and you are able to create a new project or product just with your computer and a few lines of code. It's like magic!
I'm part of the freeCodeCamp staff, where I create coding courses and write articles on computer science and programming. My 26+ articles for this publication have received 2,400,000+ views with 5,000+ views per day, on average. I run the freeCodeCamp Espanol YouTube channel that currently has 70,000+ subscribers and I create full courses for this channel.
I served as Community Teaching Assistant (Community TA) for the Massachusetts Institute of Technology on edX (MITx) for the course "Introduction to Computer Science and Programming Using Python" where I help by writing tutorials and creating diagrams to complement the course content.
My "Python OOP - Object Oriented Programming for Beginners" was selected for Udemy for Business, a curated collection of top Udemy courses used for corporate training.
So... I'm here for you. If you choose one of my courses, I promise you that you will find an engaging and carefully crafted learning experience. Thank you very much for reading more about me and I will see you in the courses :).