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.
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
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.