Computer Science Fundamentals
Master the core algorithms, data structures, and math that power computer science.
Data Structures
The structures every technical interview and most real systems depend on — arrays, linked lists, stacks, queues, hash tables, trees, heaps, tries and graphs — each with its operations and the complexity trade-offs behind choosing it.
Algorithms Analysis
How to analyse an algorithm and how to choose one. Asymptotic analysis and recursion first, then searching and the major sorting algorithms, then the greedy, divide-and-conquer, dynamic programming and backtracking strategies.
Big O Notation
A focused course on complexity notation alone — working through O(1), O(log n), O(n), O(n log n), O(n²) and beyond, plus Big Omega and Big Theta, then applying each to the operations of real data structures.
Discrete Math
The mathematics computer science actually runs on: propositional and predicate logic, proof by induction, set theory, relations and functions, recurrence relations, combinatorics and discrete probability.
Binary Trees & Graphs
Hierarchical and connected data in depth: binary trees and BSTs, self-balancing AVL and red-black trees, heaps, tries and segment trees, then graph representation with BFS, DFS, shortest-path and minimum-spanning-tree algorithms.