6.046 introduces students to the design of computer algorithms, as well as analysis of sophisticated algorithms. License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu
Erik Demaine, Srinivas Devadas, Nancy Ann Lynch
In this lecture, Professor Demaine continues with cache-oblivious algorithms, including their applications in searching and sorting.
In this lecture, Professor Demaine introduces cache-oblivious algorithms.
In this recitation, problems related to cryptography are discussed.
In this lecture, Professor Devadas continues with cryptography, introducing encryption methods.
In this lecture, Professor Devadas covers the basics of cryptography, including desirable properties of cryptographic functions, and their applications to security.
In this recitation, problems related to distributed algorithms are discussed.
In this lecture, Professor Lynch introduces asynchronous distributed algorithms.
In this lecture, Professor Lynch introduces synchronous distributed algorithms.
In this recitation, problems related to approximation algorithms are discussed, namely the traveling salesman problem.
In this lecture, Professor Demaine tackles NP-hard problems using fixed-parameter algorithms.
In this lecture, Professor Devadas introduces approximation algorithms in the context of NP-hard problems.
In this recitation, problems related to NP-Completeness are discussed.
In this lecture, Professor Demaine introduces NP-completeness.
In this lecture, Professor Devadas introduces linear programming.
In this recitation, problems related to Network Flow and Matching are discussed.
In this lecture, Professor Devadas continues with the topic of network flow.
In this lecture, Professor Devadas introduces network flow, and the Max Flow, Min Cut algorithm.
In this recitation, problems related to greedy algorithms are discussed.
In this lecture, Professor Demaine introduces greedy algorithms, which make locally-best choices without regards to the future.
In this lecture, Professor Demaine covers different algorithmic solutions for the All-Pairs Shortest Paths problem.
In this lecture, Professor Devadas introduces the concept of dynamic programming.
In this lecture, Professor Demaine covers the augmentation of data structures, updating common structures to store additional information.
In this recitation, problems related to dynamic programming are discussed.
In this lecture, Professor Demaine reviews hashing in the context of randomized algorithms.
In this lecture, Professor Devadas continues with randomization, introducing skip lists as a randomized data structure.
In this recitation, problems related to Randomized Select and Randomized Quicksort are discussed.
In this lecture, Professor Devadas introduces randomized algorithms, looking at solving sorting problems with this new tool.
In this lecture, Professor Demaine introduces analysis techniques for data structures, and the implementation of algorithms based on this analysis.
In this lecture, Professor Demaine introduces the van Emde Boas Tree data structure and its uses.
In this recitation, problems related to 2-3 Trees and B-Trees are discussed.
In this lecture, Professor Demaine continues with divide and conquer algorithms, introducing the fast fourier transform.
In this recitation, problems related to matrix multiplication and weighted interval scheduling are discussed.
In this lecture, Professor Devadas introduces divide-and-conquer algorithms and problems that can be solved using divide-and-conquer approaches.
In this lecture, Professor Devadas gives an overview of the course and introduces an algorithm for optimal interval scheduling.
In this video, the instructor shares his experience co-teaching the course.
In this video, the instructor suggests that one of the best ways to engage learners with the content is to communicate one's own excitement about algorithms.
In this video, the instructor discusses assessment strategies used in the course and the challenge of assessing students' abilities to apply algorithms in new and creative ways.
In this video, the instructor shares approaches for teaching a topic that students often find difficult.
In this video, the instructor discusses his role in the course, his interest in algorithms, and how teaching the class helps him understand algorithms at a deeper level.