[Index of Lectures]

[ L01 L02 L03 L04 L05 L06 L07 L08 L09 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L21 L22 L23 ]

Lecture 11—2 one-of

Before Lecture

Before this lecture, make sure you are caught up with Module 6 videos and have completed all online question in Module 6b.

During Lecture

The starters for this lecture are:

Having worked so hard to learn the basic recipes you are now in the part of the course where that pays you back everyday. This lecture and the one before it really drive that point home.

A hallmark of expert thinking is to see structure in amongst details — and to be able to use that structure to solve problems more effectively. One way that engineers do that is to use models of a system. A model is a description of the system that leave out a large number of details to focus on a few key issues. That focus makes it easier to use the model to answer certain kinds of questions that might otherwise be cumbersome in the face of all the details.

Type comments with their implicit reference arrows are a model. Type comments are used to generate templates, and in doing so allow us to understand what all functions that operate on a type have in common. Today we used a new kind of model — the cross product table — to design a program.

After Lecture

The neat thing we did today is to use the model not just to represent the program, but also to simplify it. By simplifying the cross product table we end up with a simpler program than we would otherwise have.

To review today's class:

At this point you are responsible for all material through Module 7a.

The solutions for this lecture are:

Be sure to complete the before lecture section of Lecture 12 before that lecture.