Computer Science

Fundamentals

Before you can build anything, you need the language and the mental models that every programmer shares — and that is exactly what this category installs, in three steps. Start with the everyday vocabulary of code: variables, functions, loops and conditionals that appear in every program in every language. Move on to the classic data structures — arrays, stacks, queues, hash tables and trees — that decide whether a problem is easy or impossible. Finish with algorithmic thinking and Big-O notation, so you can reason about how fast code runs before you ever execute it. Together these three decks are the ground floor of a computer-science education and the core of most coding interviews.

Learning path