Master data structures, algorithms, and coding interviews

Created by Silicon Valley software engineer. Improve algorithm knowledge and ace your next coding interview!

“Why do we need to know algorithm?”

What you’ll learn

  • Learn, implement, and use different algorithms.
  • Learn, implement, and use basic data structures.
  • Become confident and prepared for coding interviews given by some of the most popular tech companies.

Course Content

  • Introduction –> 2 lectures • 4min.
  • Algorithms and Computational Complexity –> 2 lectures • 17min.
  • Algorithms: Sorting –> 14 lectures • 2hr 10min.
  • Search –> 1 lecture • 13min.
  • Linked List –> 6 lectures • 1hr 19min.
  • Hash Table –> 2 lectures • 31min.
  • Stack and Queue –> 4 lectures • 23min.
  • Tree –> 8 lectures • 1hr 22min.
  • Quiz: Hash –> 3 lectures • 18min.
  • Quiz: Hash Table –> 2 lectures • 19min.
  • Quiz: Array List –> 4 lectures • 55min.
  • Quiz: Recursion –> 2 lectures • 36min.
  • Quiz: Rearrangement –> 2 lectures • 18min.
  • Quiz: Stack –> 1 lecture • 25min.
  • Mathematical Quiz –> 4 lectures • 1hr 4min.
  • Cracking the Codes –> 3 lectures • 1hr 16min.
  • Mathematical Games –> 3 lectures • 54min.
  • Conclusion_Bonus Lecture –> 1 lecture • 7min.

Master data structures, algorithms, and coding interviews


“Why do we need to know algorithm?”

For those who are already working in the IT field, you may wonder why we need to know algorithm since you don’t use it in your day to day tasks. Not everyone working in the IT field uses algorithms, but let’s take a moment to think about why candidates applying for GAFA (Aka Google, Apple, Facebook, Amazon) are always asked interview questions regarding data structures and codes.


What type of engineer do you want to be?

As you may know, Google’s search function and Tesla’s automated driving require top quality performance and that wouldn’t be possible without exceptional algorithm efficiency. Therefore, it’s important for programmers to have the ability to write codes that can perform well. Of course, if you just want to create a small scale web page using a simple web framework, you won’t need to know about algorithm. But services that are popular in our modern society today will face issues with scalability. At the initial stage of creating services, whether the algorithm runs properly or not may be main issue, but as time progresses,  the amount of data increases and programmers will have to focus on how to process the data received in a timely manner. That’s when the programmer’s skills and knowledge are really put to the test.

If you are considering working as an engineer in the Silicon Valley, there will in most if not all cases, be a coding interview portion and without passing this portion of the interview, you won’t be hired. Your soft skills may be looked at by the interviewer, but without a solid background and knowledge of algorithm, you won’t be able to get the position.

Why should I take this course?

In the first half of this course, we’ll be covering the basics of algorithms and data structures using Python. In the latter half, we’ll be covering coding questions you may be asked during an actual interview. If you become familiar with the basics of Python, then you’ll be able to understand the basics of algorithms from this course.  By the end of this course, we hope you feel more confident and prepared to take any coding interviews.


Happy learning!