4.3.1
Categories
The categories, developed in the traditional phenomenographic analysis, are listed in Table 4.3.1 and depicted in Figure 4.3.1. Groups of categories are listed in Table 4.3.2 and depicted in Figure 4.3.2.
Because there is an unusually large number of categories in response to this re- search question, the categories have been grouped. The least sophisticated group of
Table 4.3.1: Categories for Student Conceptualizations of Reasons for Teaching Proof
Category Description
Effective Communication of Mathe- matical Thoughts
Mathematical maturity Understand the consequences of defini-
tion
Derive mathematical formulation of in- tuitive ideas
Derive algorithms for efficiency proofs help us design; we can see the efficiency and correctness
Tailor an algorithm so that its proper- ties can be proven
Show that an algorithm meets require- ments
proofs support our claims for our algo- rithms
Establish bounds on resource utiliza- tion
Understanding Algorithms and Their Properties
Ensuring we know why an algorithm works
Demonstrate claims (conclusively) appreciates proof of existential and possibly universal statements
Distinguish the possible from the im- possible
partial truth
Obtain more knowledge psychological vs. inherent
Find out whether hypothesis is false confusion about terms, claim vs. hy- pothesis or confusion about nature of deduction
Increase confidence in experimental re- sults
confusion about universal unequivocal nature of argument
Do not know why “we do not accomplish anything”
Nothing desirable insufficient structural relevance
Nothing of relevance don’t see the general nature of results
Figure 4.3.2: Outcome space from What students think a proof is for
Table 4.3.2: Grouped Categories for Student Conceptualizations of Reasons for Teaching Proof
Grouped Category Description
General and Deep Reasons non-specific to computer science
Guidance on Algorithm Design Proof is for tailoring our algorithm cre- ation.
Algorithm Properties Proof is for knowing our algorithm
properties assuredly.
General and Superficial Reasons non-specific to computer science
categories includes misunderstandings, not just incomplete, but containing misinfor- mation. The critical aspect differentiating this group of categories from the next group is the idea that proof establishes, unequivocally, the truth value of the claim. The context of assumptions in which the claim is made is included in the understanding of the claim, in so far as that context has supplied warrants for the argument.
The next group of categories are true conceptualizations that are not very detailed, such as, a proof demonstrates that a claim is true.
4.3.2
Illustrative Quotations for Categories
Illustrative quotations for the categories are shown in Table 4.3.3.
Students offered many reasons why proof is taught, and it seemed interesting to capture the variety. However, the large amount of data made it seem helpful to take two steps in grouping. We called the first step finding categories, but then we dealt with groupings of these categories.
The lowest level of conceptualization contains no reason why proofs are taught, because students propose such reasons as “The professors were math majors, and feel we should know some math.”
Some students know that proofs are used for justifying claims about the correct- ness and resource consumption of algorithms. No student was found who considered provability to be a guide for algorithm construction, although one was found who was required to use proof in publication, and consequently used proof to know when she was finished with her algorithms.
Other students connect learning proof by induction with explaining why algo- rithms work: “yes, of course, the first thing i thought of when i saw induction, was
Table 4.3.3: Illustrative Quotations for What Students Think Proof is For
Category Quote
General and Deep
Reasons
making sure you understand the principles
seeing why things are the way they are, and showing indis- putably that something is the case
Guidance on Al- gorithm Design
If the proof of part of the algorithm is too long or hard, I can change the algorithm to make the proof easier.
Algorithm Properties
using proof to as a way to explain the algorithm and prove its validity
when we’re deciding how to make programs efficient, make them do what we want, proofs could help us
General and Su- perficial Reasons
It is a required part of a paper for the conferences at which I try to publish.
Incorrect Reasons The professors were math majors, and feel we should know some math.
recursion”.
Some students were asked whether they ever employed proof for any reason other than having been assigned. No student said they employed proof for any purpose other than responding to an assignment to provide a proof. When students said they never used recursion because they never knew whether a situation warranted the use of recursion, the interviewer suggested that proof might be a useful tool for understanding the situation. Students acquiesced. Given the difficulty with transfer, it appears that students do not choose to exercise this transfer.
4.3.3
Relations
The relations are shown in Table 4.3.4.
Some students give incorrect reasons for studying proofs. The next step is appre- ciating that demonstrating the truth value of claims is valuable.
Table 4.3.4: Relationships for Student Conceptualizations of Reasons for Teaching Proof
Grouped Category Relation
General and Deep Reasons Perhaps generalization
Guidance on Algorithm Design
Guidance on Algorithm Design As the algorithm confers the properties,
the provability of the desired properties indicate whether the algorithm suffices. Algorithm Properties
Algorithm Properties Mathematical statements can be made
about algorithm properties. General and Superficial Reasons
General and Superficial Reasons Demonstrating the truth value of
claims. Incorrect Reasons
properties can be addressed.
With further progress, students consider the possibility that some programs, though they may satisfy the compiler, may not satisfy functionality requirements, or even computational complexity requirements, and that proofs can address claims of this nature.
Subsequently students gain in their appreciation for the utility of proof, for demon- strating correctness and other qualities, more thoroughly than tests can do.
4.3.4
Critical Factors
The critical factors are shown in Table 4.3.5.
Some students do not discern on their own that it is the proof technique that is being taught, rather than the truth of the theorem. The critical factor is, that the subject is the proof technique. To help these students, varying the attempt to show the truth value of a claim, by contrasting inadequate proof-attempts with successful
proofs calls more attention to the technique than to the theorem being proved. The next critical factor is that at some point in their development the students will be able to apply proof techniques for the purpose of demonstrating that algorithms have certain properties. To emphasize that properties of algorithms are relevant, different specific properties can be presented, and the idea of properties generalized. It is possible that multiple properties can be fused, and the proofs of each likewise fused.
The idea of algorithm properties satisfying requirements, and as a result, algo- rithms and their implementations satisfying requirements, is a generalization of the idea of individual properties being sufficient.
There is a further generalization beyond algorithms, for example, products.
Table 4.3.5: Critical Factors for What Students Think Proof is For
Critical Factor
Showing something (a generalization from algorithm properties) is indisputably the case.
As the algorithm confers the properties, the provability of the desired properties indicates whether the algorithm suffices.
Mathematical statements can be made about algorithm properties.
In class have seen proofs being used to demonstrate the truth value of claims. As some conceptualizations hold that once a claim’s truth has been demonstrated (a once-only activity), the proof technique is no longer of interest, it can help to foster the realization that similar techniques can solve similar problems.
4.3.5
Dimensions of Variation
Students’ conceptualizations build on a superficial and general understanding of what proof is for, deepening in understanding as they study examples of proofs applied to algorithms. In particular, they see proofs applied to algorithms in the Algorithms
class. Here properties of algorithms such as resource utilization are shown with proofs. Students report not having to synthesize these proofs, rather, to understand them. Later, in the Introduction to the Theory of Computing, proofs are seen by students to be used on abstract classes of algorithms. Here students report more trouble understanding and applying proofs.
An alternative dimension of variation could be developing deeper understanding of the nature of computation. Engaging in proof gives students the opportunity to contemplate the operations they carry out in algorithm construction with respect to how the complexity of an algorithm may change as aspects of the computation change, as from 2-SAT to 3-SAT.
4.3.6
Validation
Here validation is by internal consistency. Excerpts of student transcripts were se- lected on the basis of being related to this question. A dimension of variation emerged from the data, such that the excerpts seemed readily organized along this dimension.
4.3.7
Outcome Space
The outcome space from the research question “What do students think proof is for?” begins with unguided speculation on the part of the students, that arrives an incorrect idea. It is important to notice that there are some students who are unaware, at least at the beginning of the time they are taking discrete structures, that the material is highly relevant to subsequent courses.
A critical factor for students to realize that there are at least general reasons for proof is to recognize a relationship between a problem being solved and a proof that
is part of the solution.
The conceptualization of “General but Superficial Reasons” is a qualitative ad- vance in understanding, compared to the starting conceptualization of some students. There is a reason for studying proof, yet to be determined.
A critical factor for students to advance to the next level of understanding is that proofs are relevant to computer science.
The conceptualization of “Algorithm Properties” provides specific reasons for studying proof. Students know, to some degree, that they are concerned with the properties of algorithms. That some of these properties can be proved, and that statements about algorithms can be made with assurance are ideas conferred by this conceptualization.
A critical factor for students to advance to the next level of understanding of what proofs are for, in the computer science curriculum, is that provability of algorithm properties can provide guidance to algorithm design.
The conceptualization of “Guidance on Algorithm Design” includes an under- standing that design of algorithms might involve meeting requirements, and that algorithms can be judged according to how well they meet requirements, and that in some cases, satisfaction of requirements by an algorithm can be guaranteed by proof.
Table 4.4.1: Categories for How Students Attempt to Apply Proofs (When Assigned)
Category Description
Improve Efficiency develop a sense of which transforma-
tions are helpful in the circumstances
Attempt Transformations consider different representations
Adapt Known Proofs start with class notes and modify
Use Known Proofs copy from class notes