Updated in November 2018 with brand new section on Dynamic Programming!
This course crams months of computer science and interview prep material into 20 hours of video. The content is based directly on last semester of my in-person coding bootcamps, where my students go on to land 6-figure developer jobs. I cover the exact same computer science content that has helped my students ace interviews at huge companies like Google, Tesla, Amazon, and Facebook. Nothing is watered down for an online audience; this is the real deal 🙂 We start with the basics and then eventually cover “advanced topics” that similar courses shy away from like Heaps, Graphs, and Dijkstra’s Shortest Path Algorithm.
I start by teaching you how to analyze your code’s time and space complexity using Big O notation. We cover the ins and outs of Recursion. We learn a 5-step approach to solving any difficult coding problem. We cover common programming patterns. We implement popular searching algorithms. We write 6 different sorting algorithms: Bubble, Selection, Insertion, Quick, Merge, and Radix Sort. Then, we switch gears and implement our own data structures from scratch, including linked lists, trees, heaps, hash tables, and graphs. We learn to traverse trees and graphs, and cover Dijkstra’s Shortest Path Algorithm. The course also includes an entire section devoted to Dynamic Programming.
Here’s why this course is worth your time:
-
It’s interactive – I give you a chance to try every problem before I show you my solution.
-
Every single problem has a complete solution walkthrough video as well as accompanying solution file.
-
I cover helpful “tips and tricks” to solve common problems, but we also focus on building an approach to ANY problem.
-
It’s full of animations and beautiful diagrams!
Are you looking to level-up your developer skills? Sign up today!
Big O Notation
Analyzing Performance of Arrays and Objects
Problem Solving Approach
Problem Solving Patterns
100% OPTIONAL Challenges
-
31PREREQUISITES
-
32Intro to Problem Solving Patterns
-
33Frequency Counter Pattern
-
34Frequency Counter: Anagram Challenge
-
35Frequency Counter - validAnagram
-
36Anagram Challenge Solution
-
37Multiple Pointers Pattern
-
38Multiple Pointers: Count Unique Values Challenge
-
39Multiple Pointers - countUniqueValues
-
40Count Unique Values Solution
-
41Sliding Window Pattern
-
42Divide And Conquer Pattern
Recursion
-
43IMPORTANT NOTE!
-
44Frequency Counter - sameFrequency
-
45Frequency Counter / Multiple Pointers - areThereDuplicates
-
46SOLUTIONS PART 1
-
47Multiple Pointers - averagePair
-
48Multiple Pointers - isSubsequence
-
49SOLUTIONS PART 2
-
50Sliding Window - maxSubarraySum
-
51Sliding Window - minSubArrayLen
-
52Sliding Window - findLongestSubstring
-
53SOLUTIONS PART 3
Recursion Problem Set
-
54PREREQUISITES
-
55Story Time: Martin & The Dragon
-
56Why Use Recursion?
-
57The Call Stack
-
58Our First Recursive Function
-
59Recursion Quiz
-
60Our Second Recursive Function
-
61Writing Factorial Iteratively
-
62Writing Factorial Recursively
-
63Common Recursion Pitfalls
-
64Helper Method Recursion
-
65Pure Recursion