Computational complexity theory is the study of how the resources an algorithm consumes — primarily time, but also space — grow as the size of its input grows. Rather than timing code on one machine with one data set, we count the operations that dominate the work and describe how that count scales. This abstraction lets us compare algorithms fairly, independent of hardware, programming language, or compiler.
In COP3530, this vocabulary is the foundation for everything that follows. Every data structure you meet this semester — arrays, linked lists, trees, hash tables, heaps, graphs — is judged by the cost of its operations, and those costs are stated in asymptotic terms. Before you can argue that one structure is the right choice for a problem, you need to be fluent in input size n, in best-, worst-, and average-case analysis, and in the notations Big O, Omega, and Theta.
As you watch the videos below, keep three questions in mind. First, what exactly is being counted, and what is being treated as the input size? Second, which case is under discussion — is the speaker describing a guarantee that always holds, or a happy accident on a lucky input? Third, which notation is appropriate for that claim: an upper bound (O), a lower bound (Omega), or a tight bound (Theta)? Being deliberate about these distinctions now will save you a great deal of confusion later.
A compact introduction to what it means to analyze an algorithm: how running time is expressed as a function of input size, and why we count operations rather than measure seconds. Based on its title and framing as the first part of a two-video sequence, it should set up the motivation and basic machinery of analysis before notation is formally introduced. It links directly to the companion asymptotic notation video as the intended next step.
Michael Sambol's algorithm videos are a widely used, carefully scripted series known for precise, textbook-aligned explanations in a few minutes. This one maps directly onto the opening subtopics — what complexity theory is, why efficiency matters, and input size as the central variable.
The follow-up video focuses specifically on asymptotic notation, covering Theta, Big O, and Omega as described in its own summary. Expect definitions of each notation and the distinction between tight bounds, upper bounds, and lower bounds, with examples of how functions are classified. It is the natural continuation of the introductory video in the same series.
It treats all three notations together rather than defaulting to Big O alone, which is exactly the distinction this topic asks you to master, and it comes from the same clear, accurate source as the introduction.
A longer, more tutorial-style treatment of time complexity and Big O notation aimed at students beginning a data structures course, with analysis and hand calculation shown in Java and C++ contexts. As the opening lesson of a full DSA series, it is likely to work through counting operations in loops and nested loops and deriving a Big O expression step by step. Its length allows for more worked examples than the shorter videos.
The extra time and worked calculations give you practice translating code patterns — single loops, nested loops — into growth rate classes, reinforcing the mental model of growth rate categories introduced in this topic.
Together these videos build the vocabulary and habits the module outcomes depend on. The Sambol pair directly supports MO1 and MO5 by defining Big O, Omega, and Theta side by side so you can articulate which bound a given claim is actually making, while the introductory video grounds MO2 by establishing input size and the idea that the same algorithm can behave differently on different inputs. The longer Anuj Kumar Sharma video supports MO3 by walking through the derivation of complexity from loop structures and the practice of dropping lower-order terms and constants. Collectively they supply the conceptual framework you will apply in MO4 when comparing candidate algorithms on scalability and trade-offs; the specific case analyses of search and sorting algorithms will be developed further in the module's later materials and exercises.
These videos were chosen from YouTube on October 2, 2026. Each has captions; the player turns them on. Videos on YouTube can be changed or removed — if one no longer plays, tell your instructor. If a player does not appear, use its Watch on YouTube link.