Monday, November 12, 2012

Open Lectures on Algorithms



This provides a collection of open lectures on algorithms for academic courses from colleges/universities, which teach fundamental techniques for the design and analysis of efficient algorithms. An algorithm is a procedure or formula for solving a problem. We use algorithms for solving math problems, data processing, and automated reasoning. Algorithms are the ideas behind computer programs. The more efficient algorithms we design, the more efficiently and effectively we can use computational resources.


1) Introduction to Algorithms (MIT, Fall 2011)
Taught by Professor Srinivas Devadas, this course provides an introduction to mathematical modeling of computational problems, and covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems.

2) Introduction to Algorithms (MIT, Fall 2005)
Taught by Professor Charles Leiserson and Professor Erik Demaine, this course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice.

3) Design and Analysis of Algorithms (MIT, Spring 2015)
Instructors: Prof. Erik Demaine, Prof. Srinivas Devadas, and Prof. Nancy Lynch. This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application.

4) Algorithm Design and Analysis (UC Davis)
This is an undergraduate course that introduces fundamental techniques and viewpoints for the design and the analysis of efficient computer algorithms, and studies important specific algorithms.

5) Efficient Algorithms and Intractable Problems (UC Berkeley)
Taught by Prof. Christos Papadimitriou and Prof. Satish Rao, this course discusses concept and basic techniques in the design and analysis of algorithms; models of computation; etc.

6) Algorithms (ArsDigita University)
Taught by Professor Shai Simonson, this course studies the design of algorithms according to methodology and application; analysis of algorithms; and NP-Completeness theory.

7) Fundamental Algorithms: Design and Analysis
Instructor: Prof. Sourav Mukhopadhyay, IIT Kharagpur. This course provides an introduction to mathematical modeling of computational problems.

8) Design and Analysis of Algorithms (IIT Bombay)
This course discusses the principles of algorithm design, divide and conquer, dynamic programming, greedy algorithms, and NP-completeness.

9) Graph Theory (IISc Bangalore)
In computer science, graph theory is used extensively. The aim of this course is to introduce the subject of graph theory to computer science students in a thorough way.

10) Geometric Folding Algorithms: Linkages, Origami, Polyhedra (MIT, Fall 2012)
Instructor: Professor Erik Demaine. This course focuses on the algorithms for analyzing and designing geometric foldings.

11) Fundamental Algorithms in Bioinformatics (UC Davis)
Instructor: Professor Dan Gusfield. This course covers fundamental algorithms for efficient analysis of biological sequences and for building evolutionary trees.

12) Advanced Algorithms (Harvard Univ.)
Instructor: Professor Jelani Nelson. This course will cover topics: the word RAM model, data structures, amortization, online algorithms, linear programming, semidefinite programming, approximation algorithms, hashing, randomized algorithms, and fast exponential time algorithms.

13) Algorithms for Big Data (Harvard Univ.)
Instructor: Professor Jelani Nelson. Big data is data so large that it does not fit in the main memory of a single machine, and the need to process big data by efficient algorithms arises in Internet search, network traffic monitoring, machine learning, scientific computing, signal processing, and several other areas.

14) Algorithms for Big Data (IIT Madras)
In this course, you will learn how to design and analyse algorithms in the streaming and property testing models of computation.

More Free Lectures on Computer Science

No comments:

Post a Comment