Description
In this course, you will:
- Watch live hands-on coding-focused video tutorials
- Practice coding with cloud Jupyter notebooks
- Solve questions from real programming interviews
- Earn a verified certificate of accomplishment
Syllabus:
1. Binary Search, Linked Lists and Complexity
- Linear and Binary Search
- Complexity and Big O Notation
- Linked Lists using Python Classes
2. Binary Search Practice
- Understand and solve a problem systematically
- Implement linear search and analyze it
- Optimize the solution using binary search
3. Binary Search Trees, Traversals and Recursion
- Binary trees, traversals, and recursion
- Binary search trees & common operations
- Balanced binary trees and optimizations
4. Hash Tables and Python Dictionaries
- Hash tables from scratch in Python
- Handling collisions using linear probing
- Replicating Python dictionaries
5. Sorting Algorithms and Divide & Conquer
- Bubble sort and Insertion Sort
- Merge sort using Divide & Conquer
- Quicksort and average complexity
6. Divide and Conquer Practice
- Implement polynomial multiplication
- Optimize using divide and conquer
- Analyze time and space complexity
7. Recursion and Dynamic Programming
- Recursion and memoization
- Subsequence and knapsack problems
- Backtracking and pruning
8. Graph Algorithms (BFS, DFS & Shortest Paths)
- Graphs, trees, and adjacency lists
- Breadth-first and depth-first search
- Shortest paths and directed graphs
9. Solve a Programming Problem Step-by-Step
- Pick an interesting coding problem
- Solve the problem step-by-step
- Document and present the solution
10. Python Interview Questions, Tips & Advice
- Practice questions and solutions
- Tips for solving coding challenges
- Advice for cracking coding interviews