Lecture 18 — Problem Solving and Design

Overview

This is the first of our lectures dedicated primarily to problem solving and design rather than to particular programming constructs and techniques.

Unlike the previous lectures, NO new concepts are introduced. Rather we make use of our current knowledge to solve problems.

  • Design:

    • Choice of container/data structures; choice of algorithm.

      • At the moment, we don’t know too many containers, but we will think about different ways to use the one container - lists - we do know about.

    • Implementation.

    • Testing.

    • Debugging.

  • We will discuss these in the context of several variations on one problem.

  • We will begin working with a completely blank slate and understand the process.

  • Working through problems like this is a good way to review what we’ve learned thus far.