Programming Foundations: Algorithms
1h 43mBeginner2024-01-11
Authors

Joe Marini
Senior Developer Advocate at Google, Developer
Course details
Algorithms are the universal building blocks of programming. They power the software you use every day, whether it's a spreadsheet, a social network, or a driving assistant. Algorithms offer a way to think about programming challenges in plain English, before they are translated into a specific language like C# or JavaScript. In this course, author and developer Joe Marini explains some of the most popular and useful algorithms for searching and sorting information, working with techniques like recursion, and understanding common data structures. He also discusses the performance implications of different algorithms and how to evaluate the performance of a given algorithm. Each algorithm is shown in practice in Python, but the lessons can be applied to any programming language.
Skills covered
Data EngineeringArtificial Intelligence FoundationsPythonFoundationsArtificial Intelligence (AI)Data ScienceOpen Source
Concepts
0. Introduction
- 01 - Algorithms power the world
- 02 - What you should know
1. Overview
- 03 - What are algorithms
- 04 - Common algorithms in programming
- 05 - Measuring algorithm performance
2. Common Data Structures
- 06 - Introduction to common data structures
- 07 - Arrays
- 08 - Linked lists
- 09 - Linked lists example
- 10 - Stacks and queues
- 11 - Stacks and queues example
- 12 - Dictionaries
3. Recursion
- 13 - Understanding recursion
- 14 - Simple recursion example
- 15 - Calculating power and factorial
4. Sorting Information
- 16 - Overview of sorting
- 17 - The bubble sort
- 18 - The merge sort
- 19 - Implementing the merge sort
- 20 - The quicksort
- 21 - Implementing the quicksort
5. Searching for Data
- 22 - Unordered list search
- 23 - Binary search
- 24 - Determine if a list is sorted
6. Practical Examples with Data Structures
- 25 - Unique filtering with sets
- 26 - Value counting with a dictionary
- 27 - Find max value recursively
- 28 - Balancing statements with Stack
Conclusion
- 29 - Next steps
Related courses
- Big Data in the Age of AI
- Complete Guide to Analytics Engineering
- Advanced Analytics Engineering: Real-World Practice
- Complete Guide to Google BigQuery for Data and ML Engineers
- PySpark Essential Training: Introduction to Building Data Pipelines
- Cleaning Data for Effective Data Science: Data Ingestion, Anomaly Detection, Value Imputation, and Feature Engineering
- Scala Essential Training for Data Science
- SPSS: Wrangling, Visualizing, and Modeling Data