Functional Problem Solving (CSC 151 2015S) : EBoards

CSC151.01 2015S, Class 11: Testing Your Procedures, Revisited


Overview

Preliminaries

Admin

Upcoming Work

Extra Credit Opportunities

Academic

Miscellaneous

Peer Support (Morning Section)

Questions

I've spent twenty minutes on one problem and haven't finished. Can I get partial credit?

I'm sorry that I have to do the demo.

I don't know whether or not I can ask you this question.

You can. I can choose whether or not to answer. Evidence is you'll get some kind of answer.

You have lots of bananas left over. Can I take them home and make banana bread or fried bananas or something?

Certainly.

Quiz!

Lab

Debrief

What did you take as the main learning goals of this lab?

Fixing code to pass one test sometimes breaks other tests. Don't throw away tests!

Make good tests.

Test making can be a tedious process.

Subtle things can go wrong. You need to think about those subtleties.

Some errors are from programmers who have not completely thought through the problem.

Some are from people who have thought carefully but missed one model.

Some are from malicious instructors. (Or people who think very differently about the problem.)

If we want to be fairly comprehensive (for this example), what are some things we should check?

Different shapes: circle, square, non-square rectangle, non-circular ellipse, compound

Different sizes of shapes: unit, large, small

Different coordinates to shift to. Negative and positive, whole numbers vs. exact rationals vs. inexact reals, Zero

Different coordinates to shift from. See above.

Different directions: Left, up, right, down (all combinations?), not at all.

Make sure that you know where the starting object is.