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
- Build with AI: Creating AI Agents with OpenAI's Responses API
- Model Context Protocol (MCP) for Beginners by Microsoft
- Building AI Agents for Beginners by Microsoft
- Beyond Vibe Coding with Google Gemini: Become a Deliberate Developer
- Build with AI: Create Deterministic MCP Agents
- Build with AI: LLM-Powered Applications with Streamlit
- Build with AI: Creating a SaaS MVP in One Day
- Hands-On AI: Building Your First LLM-Powered App