Algorithms for Everyone
Published by O'Reilly Media, Inc.
Learn the essential concepts that underpin effective programming
Course outcomes
- Develop a solid foundation in basic algorithmic concepts
- Gain proficiency in algorithm analysis and Big O notation
- Understand the impact of algorithm complexity on code performance
- Learn and apply key sorting and searching algorithms
- Analyze and utilize fundamental data structures effectively
Course description
Join expert Eric Freeman to get an introduction to the fundamental concepts of algorithms and critical aspects of algorithm analysis. Central to your understanding is Big O notation, a crucial tool for evaluating and predicting the performance of various algorithms. You’ll also delve into the practical aspects of algorithms, exploring essential sorting and searching techniques such as bubble sort, quicksort, linear search, and binary search. This exploration includes understanding algorithm space and runtime complexities. You’ll also focus on fundamental data structures like arrays and lists, with an emphasis on their role in algorithm efficiency.
What you’ll learn and how you can apply it
- Discover the building blocks that form the backbone of algorithmic thinking
- Master Big O notation, an indispensable tool for evaluating and predicting algorithm performance
- Examine how algorithm complexity influences the runtime behavior of your code, a critical aspect for efficient programming
- Get hands-on with fundamental sorting and searching algorithms
- Explore the mechanics and complexities of bubble sort, quicksort, linear search, and binary search, gaining practical insights into their operational intricacies
- Analyze fundamental data structures like arrays and lists and compare these structures, understanding their impact on algorithm efficiency and effectiveness
This live event is for you because...
- You’re a software engineer who wants to learn more about algorithms and algorithmic thinking.
Prerequisites
- Prior experience in basic programming is helpful (including an understanding of variables, conditionals, iteration, and basic arrays) but also approachable by those in an adjacent discipline (data analysis, mathematics, systems operations)
Recommended follow-up:
- Read Grokking Algorithms (book)
- Attend Coding Interview Bootcamp (live online course with Rohit Bhardwaj)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Algorithm basics (30 minutes)
- Presentation: What algorithms are and why they’re important; examples of impact of good and bad algorithms; judging an algorithm as good or bad (complexity, time, space)
Big O notation (40 minutes)
- Presentation: What is Big O?; examples of different types of complexity (linear to exponential); examples of the complexity of familiar types of activities and algorithms
- Break
Searching and sorting (30 minutes)
- Presentation: Examples of good, better, and best types of algorithms and their complexity; selection sort complexity
- Hands-on exercise: Explore brute force versus binary search
Recursion (40 minutes)
- Presentation: Many algorithms on data structures use recursion; quicksort
- Break
Data structures (40 minutes)
- Presentation: Understanding array versus lists; operation complexity around structures
- Q&A
Your Instructor
Eric Freeman
Eric Freeman is a computer scientist, technology writer, and entrepreneur. Previously, he was a CTO at the Walt Disney Company. Eric’s most recent book, Head First Learn to Code, is a beginner’s guide to coding and computational thinking. Eric lives with his wife and young daughter in Austin, Texas. He holds a PhD in computer science from Yale University.