Modules
Open a module to see its topics and everything in it.
-
Module 1
Getting Started: JavaScript and JSFiddle Environment
This lesson introduces the JavaScript programming language and the JSFiddle development environment used throughout the course. Students will write and run their first programs, reviewing foundational programming strategies needed for data structure implementation.
8 items -
Module 2
Lists and Arrays: Structure and Introduction to Big O Notation
This lesson covers the fundamental structure of lists and arrays as core data types, alongside an introductory look at computational complexity and Big O notation. Students will learn how to measure and reason about the efficiency of basic data operations.
18 items -
Module 3
Lists and Arrays: Algorithms and Operations
This lesson explores common algorithms applied to lists and arrays, including insertion, deletion, searching, and traversal. Students will implement these operations in JavaScript and analyze their time and space complexity.
14 items -
Module 4
The Stack: Structure and Use Cases
This lesson covers the stack data structure, including its LIFO principle, internal implementation, and practical applications such as expression evaluation and undo mechanisms. Students will build and test a stack in JavaScript.
15 items -
Module 5
The Queue: Structure and Use Cases
This lesson introduces the queue data structure, explaining its FIFO principle, implementation approaches, and real-world applications such as scheduling and buffering. Students will implement queue operations and compare the structure to stacks.
14 items -
Module 6
Recursion: Concepts and Implementation
This lesson explains recursion as a programming strategy, covering base cases, recursive calls, and the call stack. Students will implement classic recursive algorithms such as factorial, Fibonacci, and recursive list traversal in JavaScript.
16 items -
Module 7
Computational Complexity: Deep Dive into Analysis
This lesson provides an in-depth treatment of computational complexity theory, expanding on Big O notation to include best, worst, and average cases, as well as Omega and Theta notations. Students will analyze the complexity of algorithms encountered so far in the course.
16 items -
Module 8
Sorting Algorithms: Comparison and Implementation
This lesson covers fundamental and advanced sorting algorithms including bubble sort, insertion sort, merge sort, and quicksort. Students will implement each algorithm in JavaScript and compare their time complexities and practical performance characteristics.
14 items -
Module 9
Hash Compression: Concepts and Techniques
This lesson introduces hash compression, explaining how large key spaces are mapped to smaller index ranges using hash functions. Students will explore modular arithmetic, folding, and other compression strategies and analyze their distribution properties.
12 items -
Module 10
Hash Tables: Structure and Collision Resolution
This lesson covers the hash table data structure, including its internal array-based design, collision resolution strategies such as chaining and open addressing, and performance analysis. Students will implement a hash table in JavaScript.
16 items -
Module 11
Hash Algorithms and Applications: Password Hashing and Beyond
This lesson examines real-world applications of hashing algorithms, with a focus on cryptographic hash functions and password hashing techniques such as salting. Students will explore how hashing ensures data integrity and security in modern software systems.
16 items -
Module 12
Binary Trees: Structure, Traversal, and Operations
This lesson introduces binary trees and binary search trees, covering node structure, insertion, deletion, and key traversal strategies including in-order, pre-order, and post-order. Students will implement a binary search tree in JavaScript and analyze its operations.
18 items -
Module 13
Advanced Tree Structures: AVL Trees, Heaps, and Tries
This lesson explores specialized tree structures beyond the binary search tree, including self-balancing AVL trees, heap trees used in priority queues, and trie structures for string storage. Students will examine the use cases and performance trade-offs of each structure.
16 items -
Module 14
Graphs: Structure, Representation, and Traversal
This lesson introduces the graph data structure, covering directed and undirected graphs, adjacency matrix and adjacency list representations, and traversal algorithms including breadth-first search and depth-first search. Students will implement graph traversal in JavaScript.
19 items -
Module 15
Applied Data Structures: Blockchain, Digital Currency, and Beyond
This lesson synthesizes the course by examining how data structures are combined in real-world systems such as blockchain, digital currency, and social networks. Students will trace how structures like hash tables, trees, and graphs underpin modern computing applications.
12 items