Skip to main content Link Menu Expand (external link) Document Search Copy Copied
OCW & Course Notes
  • Home
  • MIT 6.006 - Introduction to Algorithms
    • Lecture 1 - Algorithmic Thinking, Peak Finding
    • Lecture 2 - Models of Computation, Document Distance
    • Lecture 3 - Insertion Sort, Merge Sort
    • Lecture 4 - Heaps and Heap Sort
    • Lecture 5 - Binary Search Trees, BST Sort
    • Lecture 6 - AVL Trees, AVL Sort
    • Lecture 7 - Counting Sort, Radix Sort, Sorting Lower Bounds
    • Lecture 8 - Hashing with Chaining
    • Lecture 9 - Table Doubling, Karp Rabin
    • Lecture 10 - Open Addressing, Cryptographic Hashing
    • Lecture 11 - Integer Arithmetic, Karatsuba Multiplication
    • Lecture 12 - Square Roots, Newton's Method
    • Lecture 13 - Breadth-First Search
    • Lecture 14 - Depth-First Search, Topological Sort
    • Lecture 15 - Single Source Shortest Paths Problem
    • Lecture 16 - Dijkstra
    • Lecture 17 - Bellman-Form Algorithm
    • Lecture 18 - Speeding Up Dijkstra
    • Lecture 19 - Dynamic Programming 1
  • MIT 6.006 - Introduction to Algorithms (Spring 2020)
    • Lecture 1 - Algorithms and Computation
    • Lecture 2 - Data Structures and Dynamic Arrays
    • Lecture 3 - Sets and Sorting
    • Problem Session 1
    • Lecture 4 - Hashing
  • MIT 6.045J - Automata, Computability, Complexity
    • Lecture 1 - Introduction
    • Lecture 2 - Logic, Circuits, and Gates
    • Lecture 3 - Finite State Automata & Regular Languages
    • Lecture 4 - Regular Expressions, Context-Free Grammars
    • Lecture 5 - Turing Machines
    • Lecture 6 - Decidability
    • Lecture 7 - Turing Recognizability, Oracles
    • Lecture 8 - Turing Degrees, Dovetailing, Godel
  • MIT 6.046 - Design & Analysis of Algorithms
    • Lecture 1 - Interval Scheduling
    • Lecture 2 - Convex Hull, Median Finding
    • Lecture 3 - FFT: Divide & Conquer
  • CMU 15-445 - Database Systems
    • Lecture 1 - Introduction & Relational Model
    • Lecture 2 - Advanced SQL
    • Lecture 3 - Database Storage 1
    • Lecture 4 - Database Storage 2
    • Lecture 5 - Locks vs. Latches
    • Lecture 7 - B-Trees and Indexes
  • UCB CS 162 - Operating Systems and Systems Programming
    • Lecture 1 - What is an Operating System?
    • Lecture 2 - Four Fundamental OS Concepts
    • Lecture 3 - Abstractions 1: Threads and Processes
    • Lecture 4 - Abstractions 2: Files and I/O
    • Lecture 5 - Abstractions 3: IPC, Sockets
    • Lecture 6 - Synchronization 1: Concurrency, Mutual Exclusion
    • Lecture 7 - Synchronization 2: Semaphores, Lock Implementation
    • Lecture 8 - Synchronization 3: Atomic Instructions, Monitors, Readers/Writers
    • Lecture 10 - Scheduling 1: Concepts & Classic Policies
    • Lecture 11 - Scheduling 2: Case Studies, Real Time, Forward Progress
    • Lecture 12 - Scheduling 3: Deadlock
    • Lecture 13 - Memory 1: Address Translation and Virtual Memory
    • Lecture 14 - Memory 2: Virtual Memory, Caching and TLBs
    • Lecture 15 - Memory 3: Caching & TLBs, Demand Paging
    • Lecture 16 - Memory 4: Demand Paging Policies
    • Lecture 17 - Demand Paging, General I/O, Storage Devices
    • Lecture 18 - General I/O, Storage Devices, Performance
    • Lecture 19 - Filesystems 1: Performance, Queueing Theory, Filesystem Design
    • Lecture 20 - Filesystems 2: Filesystem Design, Case Studies
    • Lecture 21 - Filesystems 3: Case Studies, Buffering, Reliability, Transactions
    • Lecture 22 - Transactions, End-to-End Arguments, Distributed Decision Making
    • Lecture 23 - Distributed Decision Making, Networking, TCP/IP
  • MIT 6.858 - Computer Systems Security
    • Lecture 1 - Introduction
    • Lecture 2 - Security Architecture
    • Lecture 3 - User Authentication
    • Lecture 4 - Buffer Overflows
    • Lecture 5 - Privilege Separation
    • Recitation 1 - Linux Containers
  • Algorithm Index
    • Bellman-Ford Algorithm
    • Breadth First Search (BFS)
    • Depth First Search (DFS)
    • Dijkstra's Algorithm
    • Ford-Fulkerson Method
    • MIT 6.042J - Mathematics For Computer Science (Google Doc)
    • MIT 6.046 - Design and Analysis of Algorithms (Google Doc)
    • MIT 6.004 - Computation Structures (Google Doc)
    • View on GitHub
    • Improve These Notes
    This site uses Just the Docs, a documentation theme for Jekyll.
    • View on GitHub