- understanding logical arguments
¶
EXAMPLE PROBLEM ABOUT LOGICAL ARGUMENT
Suppose traffic law in a town states:
LAW: if 20 more more mph over speed limit, then fine must be greater than or equal to $150
Consider the following two arguments (each is about a different scenario):
ARG1: "My fine was less than $150, therefore I must not have been 20 or more mph over the limit!"
ARG2: "Your fine was greater than or equal to $150, therefore you were speeding by 20 or more mph!"
One of these arguments is logically sound, the other is flawed. Which? Why? How to convince
others that one is logically sound and the other is not?
- modeling problem spaces and deducing new facts
¶
EXAMPLE PROBLEM ABOUT MODELING AND DEDUCING NEW FACTS:
Suppose a car is offered with various packages and options, with
the following restrictions:
1. the sport package requires ceramic brakes
2. the sport package comes with rearwing and rear wing only comes with the sport package
3. if turbo then the car can't have stock brakes
4. ceramic brakes require the large wheels
5. the only wheels are large wheels or regular wheels
6. only base models (i.e. no packages) are available with regular wheels
7. base models (i.e. no packages) don't have turbo
8. the touring package comes with roof rack.
Q1: "Can I have the turbo with regwheels?"
Q2: "Can I have the turbo without having the rearwing?"
- modeling programs & "gates" (the physical building blocks of computers)
¶
EXAMPLE PROBLEM REASONING ABOUT PROGRAMS:
Here are three program snippets with different "if" conditions:
if (!(a <= b || a != 0 && b == 0)) { DO THING X }
if (a > b && (a == 0 || b != 0)) { DO THING X }
if (a > b && b != 0) { DO THING X }
Are these equivalent or do they actually behave differently?