I finished the course...

What next?

A common question that I receive from students is what they should do after they finish the course.

The first step is to make sure you really have the material mastered that we have covered.  What do I mean by mastered?  Read this excerpt from a review that a student left: 

"Advice for anyone taking this course, or any data structures course: you'll only know for certain that you understand a data structure's function if you're able to code it from memory three times in a row. That's the rule I used when chugging along through the course, and it worked wonders. Yes, it took me 9 hours straight to perfectly code a linked list from memory, but now it's embedded in my memory, and only takes ~10 minutes. It's the best way to remember, that and coding it twice a week to make sure it stays there for good."

Coding a Linked List in ~10 minutes is incredibly fast.  However, you should be able to code it in an hour top-to-bottom without looking at any reference material.

The same is true for every data structure and every algorithm in the course.  

Why should you learn everything to that level of depth?  Because you will be competing with other candidates like the one that left the review above when you go into a coding interview.

Once you have completed that, here are a few other topics that you should learn:

  • Dynamic Programming
  • Graph Traversal
  • Heaps / Priority Queues
  • Dijkstra’s algorithm
I will be adding all of these topics to all of my courses in the coming months.


Another resource that I highly recommend is Leetcode.  You should also spend a ton of time doing the exercises there.

I hope that you found this helpful!

Best,
Scott