Programming Foundations: Algorithms (2018)
1h 45mBeginner2018-11-08
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.
Learning objectives
Measuring algorithm performance
Working with data structures such as arrays, stacks, and queues
Looping and recursion
Sorting data
Searching data
Filtering and value counting with hash tables
Learning objectives
Measuring algorithm performance
Working with data structures such as arrays, stacks, and queues
Looping and recursion
Sorting data
Searching data
Filtering and value counting with hash tables
Skills covered
Programming FoundationsFoundationsSoftware Development
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 data structures
- 07 - Arrays
- 08 - Linked lists
- 09 - Linked lists walkthrough
- 10 - Stacks and queues
- 11 - Stacks and queues walkthrough
- 12 - Hash tables
3. Recursion
- 13 - Understanding recursion
- 14 - Simple recursion example
- 15 - Power and factorial
4. Sorting Data
- 16 - Overview of sorting
- 17 - The bubble sort
- 18 - The merge sort
- 19 - Implement the merge sort
- 20 - The quicksort
- 21 - Implement the quicksort
5. Searching Data
- 22 - Unordered list search
- 23 - Ordered list search
- 24 - Determine if a list is sorted
6. Other Algorithms
- 25 - Unique filtering with hash table
- 26 - Value counting with hash table
- 27 - Find max value recursively
Conclusion
- 28 - Next steps
Related courses
- Programming Foundations: Algorithms
- Programming Foundations: Discrete Mathematics
- Programming Foundations: Programming for Kids
- Programming Foundations: Data Structures
- Build with AI: Developing a Code Review Assistant
- Fundamentals of Dynamic Programming
- Agentic AI Solution Design Patterns
- Python: Recursion
Related learn paths
- Get Started with PHP
- Become a Programmer: Foundations
- Getting Started with Python
- Advance Your Skills in Deep Learning and Neural Networks
- Advance Your Skills in C++
- Prepare for the MTA: Software Development Fundamentals Exam (98-361)
- Advance Your Python Skills for Data Science
- Improve Your JavaScript Language Skills