Algorithm Efficiency

This video is from the MIT Teaching and Learning Laboratory, and is not covered under our Creative Commons license.

Flash and JavaScript are required for this feature.

Summary

In this video, MIT professor of Computer Science and Engineering Charles Leiserson explains the importance of speed and space efficiency in programming. He guides students through different methods of computing the Fibonacci sequence and discusses the differences in efficiency of each version. Next, students are presented with several modern programming scenarios. Opportunities for pausing the video are provided so that students may independently consider and appreciate the different factors of efficiency in each example.

Learning Objectives

After watching this video students will be able to:

  • Identify common resource limitations when programming.
  • Understand speed and space and how they may be related.
  • Understand how efficiency affects modern problem solving.

Funding provided by the Singapore University of Technology and Design (SUTD)

Developed by the Teaching and Learning Laboratory (TLL) at MIT for SUTD

MIT © 2012

Related Resources

Instructor Guide

Algorithm Efficiency Instructor Guide (PDF)

It is highly recommended that the video is paused when prompted so that students are able to attempt the activities on their own and then check their solutions against the video.

During the video, students will:

  • Consider resources other than speed and space that must be utilized efficiently in programming.
  • Calculate the number of function calls needed for a given inefficient solution.
  • Brainstorm ways to improve the efficiency of a solution.
  • Consider the efficiency bottlenecks of real-world programming problems.