Data Structures & Algorithms


    Learning any programming language requires a good knowledge of the fundamentals of computer science, especially common data structures and algorithms. Even if these aren't always necessary on a day-to-day basis, they're extremely common interview topics, and study of data structures and algorithms can inform all sorts of decisions you make in your own code. Our Data Structures & Algorithms track covers the basics of common data structures and algorithms that come up in programming interviews, at any level of the interview process.

    This track is meant for those with some background in a programming language, though Python will be used for examples. It will cover common fundamental topics such as:

    • Arrays & hash tables
    • Linked lists, binary trees, and graphs
    • Stacks, queues, and heaps
    • Traversals of the above structures
    • Sorting algorithms
    • Greedy and divide & conquer algorithms
    • Dynamic programming

    While these courses can be taken in any order if desired, the classes are listed in an order we deem easiest to approach from start to finish, starting with some easier concepts before moving on to more complicated ones. There may also be similarities between topics, though each class should work in isolation with some previous programming experience.

    10 Classes

    10 Data Structures & Algorithms