Unit 1

Problem Solving

« Previous | Next »

Session Overview

This lecture covers the use of iteration to build programs whose execution time depends upon the size of inputs. It also introduces search problems and brute force and bisection for solving them.

Session Activities

Lecture Videos

About this Video

Topics covered: Termination, decrementing functions, exhaustive enumeration, brute force, while loop, for loop, approximation, specifications, bisection search.


Check Yourself

What does it mean for a program to terminate?

View/hide answer

Either the program will return a value, or throw an exception. A program that does not terminate runs indefinitely, typically because it’s gotten stuck in a loop.

What is a for loop?

View/hide answer

A for loop takes some sort of iterable object (a list, tuple, or string) and performs its function once for each item in that object. Any function that depends on the input can have a different result at each step, since the input is the current item.

Further Study

These optional resources are provided for students that wish to explore this topic more fully.


  • Loops. An Introduction to Python.

« Previous | Next »

Course Info

Learning Resource Types

theaters Lecture Videos
theaters Recitation Videos
assignment_turned_in Problem Sets with Solutions
grading Exams with Solutions
menu_book Online Textbook
assignment_turned_in Programming Assignments with Examples