Home / Subjects

Computer Science

Programming, algorithms and artificial intelligence, from first principles.

Still from the lecture “Lecture 1: Algorithmic Thinking, Peak Finding”
Computer Science

Lecture 1: Algorithmic Thinking, Peak Finding

Introduction to Algorithms · Srini Devadas

Still from the lecture “Lecture 2: Models of Computation, Document Distance”
Computer Science

Lecture 2: Models of Computation, Document Distance

Introduction to Algorithms · Erik Demaine

Still from the lecture “Lecture 3: Insertion Sort, Merge Sort”
Computer Science

Lecture 3: Insertion Sort, Merge Sort

Introduction to Algorithms · Srini Devadas

Still from the lecture “Lecture 4: Heaps and Heap Sort”
Computer Science

Lecture 4: Heaps and Heap Sort

Introduction to Algorithms · Srini Devadas

Still from the lecture “Lecture 5: Binary Search Trees, BST Sort”
Computer Science

Lecture 5: Binary Search Trees, BST Sort

Introduction to Algorithms · Srini Devadas

Still from the lecture “Lecture 6: AVL Trees, AVL Sort”
Computer Science

Lecture 6: AVL Trees, AVL Sort

Introduction to Algorithms · Erik Demaine

Still from the lecture “Lecture 7: Counting Sort, Radix Sort, Lower Bounds for Sorting”
Computer Science

Lecture 7: Counting Sort, Radix Sort, Lower Bounds for Sorting

Introduction to Algorithms · Erik Demaine

Still from the lecture “Lecture 8: Hashing with Chaining”
Computer Science

Lecture 8: Hashing with Chaining

Introduction to Algorithms · Erik Demaine

Still from the lecture “Lecture 9: Table Doubling, Karp-Rabin”
Computer Science

Lecture 9: Table Doubling, Karp-Rabin

Introduction to Algorithms · Erik Demaine

Still from the lecture “Lecture 10: Open Addressing, Cryptographic Hashing”
Computer Science

Lecture 10: Open Addressing, Cryptographic Hashing

Introduction to Algorithms · Srini Devadas

Still from the lecture “Lecture 11: Integer Arithmetic, Karatsuba Multiplication”
Computer Science

Lecture 11: Integer Arithmetic, Karatsuba Multiplication

Introduction to Algorithms · Srini Devadas

Still from the lecture “Lecture 1: What is Computation?”
Computer Science

Lecture 1: What is Computation?

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 2: Branching and Iteration”
Computer Science

Lecture 2: Branching and Iteration

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 3: String Manipulation, Guess and Check, Approximations, Bisection”
Computer Science

Lecture 3: String Manipulation, Guess and Check, Approximations, Bisection

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 4: Decomposition, Abstraction, and Functions”
Computer Science

Lecture 4: Decomposition, Abstraction, and Functions

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 5: Tuples, Lists, Aliasing, Mutability, and Cloning”
Computer Science

Lecture 5: Tuples, Lists, Aliasing, Mutability, and Cloning

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 6: Recursion and Dictionaries”
Computer Science

Lecture 6: Recursion and Dictionaries

Introduction to Computer Science and Programming in Python · Prof. Eric Grimson

Still from the lecture “Lecture 7: Testing, Debugging, Exceptions, and Assertions”
Computer Science

Lecture 7: Testing, Debugging, Exceptions, and Assertions

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 8: Object Oriented Programming”
Computer Science

Lecture 8: Object Oriented Programming

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 9: Python Classes and Inheritance”
Computer Science

Lecture 9: Python Classes and Inheritance

Introduction to Computer Science and Programming in Python · Dr. Ana Bell

Still from the lecture “Lecture 10: Understanding Program Efficiency, Part 1”
Computer Science

Lecture 10: Understanding Program Efficiency, Part 1

Introduction to Computer Science and Programming in Python · Prof. Eric Grimson

Still from the lecture “Lecture 11: Understanding Program Efficiency, Part 2”
Computer Science

Lecture 11: Understanding Program Efficiency, Part 2

Introduction to Computer Science and Programming in Python · Prof. Eric Grimson

Still from the lecture “Lecture 1: Introduction and Scope”
Computer Science

Lecture 1: Introduction and Scope

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 2: Reasoning: Goal Trees and Problem Solving”
Computer Science

Lecture 2: Reasoning: Goal Trees and Problem Solving

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 3: Reasoning: Goal Trees and Rule-Based Expert Systems”
Computer Science

Lecture 3: Reasoning: Goal Trees and Rule-Based Expert Systems

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 4: Search: Depth-First, Hill Climbing, Beam”
Computer Science

Lecture 4: Search: Depth-First, Hill Climbing, Beam

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 5: Search: Optimal, Branch and Bound, A*”
Computer Science

Lecture 5: Search: Optimal, Branch and Bound, A*

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 6: Search: Games, Minimax, and Alpha-Beta”
Computer Science

Lecture 6: Search: Games, Minimax, and Alpha-Beta

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 7: Constraints: Interpreting Line Drawings”
Computer Science

Lecture 7: Constraints: Interpreting Line Drawings

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 8: Constraints: Search, Domain Reduction”
Computer Science

Lecture 8: Constraints: Search, Domain Reduction

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 9: Constraints: Visual Object Recognition”
Computer Science

Lecture 9: Constraints: Visual Object Recognition

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 10: Introduction to Learning, Nearest Neighbors”
Computer Science

Lecture 10: Introduction to Learning, Nearest Neighbors

Artificial Intelligence · Patrick H. Winston

Still from the lecture “Lecture 11: Learning: Identification Trees, Disorder”
Computer Science

Lecture 11: Learning: Identification Trees, Disorder

Artificial Intelligence · Patrick H. Winston