Skip to content
Permalink
a066bcbf03
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
2 lines (2 sloc) 3.41 KB
Marton and Booth describe the idea of structural relevance. Briefly structural relevance is an organization of ideas. This organization of ideas is populated with notions of subject material related to the subject under discussion, whose relationship is important to the student. Thus, to the student of computer science studying proof, it is important that there is a relationship between proof by mathematical induction and recursive algorithms. For the student who knows that recursive algorithms are important, the organization of ideas about recursion can be used as scaffolding for the new concepts of proof by mathematical induction. Using the ideas of long term memory and working memory, we can say that long term memory about the utility of recursion can be used to scaffold ideas newly formed in short term memory. Some student remarks show that some students do not know of any relevance of the material on proving to computer science. They describe the course as not applicable, being instead mainly math oriented. Some opine that use of math is an artifact of the history of development of computer science, from the mathematical training of the originators. Some students believe that material on proof is related to computer science, but do not know of any specific examples. Some students found the interview made them aware of some connections. Instructors report using examples from computer science as proofs are illustrated. Some students reported a transition at which proofs became much more interesting because they were seen to be relevant. Some students are aware that proof can help them ascertain truths about algorithms, and some of these prefer to use spot checking of implementations instead. Others prefer explanatory diagrams as a means of gaining conviction. Some students appreciated that algorithms may be proved correct. One such remark included that a proof of a newly designed algorithm was helpful because a non-working implementation of a proved algorithm necessarily had bugs in the implementation. Some students appreciated that proof made clear what an algorithm could and could not do; it clarified the domain over which an algorithm worked. Some students knew that proofs can be used to show asymptotic resource utilization of algorithms, and lower bounds on asymptotic resource utilization for classes of algorithms. Some students regarded proofs related to algorithms as providing an enjoyable, shifted perspective on the algorithms, more theoretical compared with a practical implementation perspective. Some students felt that proofs came to life in the introduction to the theory of computing, having previously been strictly applied to mathematics rather than computer science. None of the students who were asked whether they initiated the synthesis of proof admitted to doing so. When asked whether starting with proof might be a good way to create an algorithm, students said they had not thought of that but believed it might be useful.
So we see student opinion spanning from proofs being irrelevant to being co-relevant with implementation and not preferred, to being useful in isolating bugs to implementation vs. algorithm, to providing clarity on domain of relevance of an algorithm, and theoretical perspective on algorithms. Despite acknowledging utility, students claimed they did not avail themselves of proof unless assigned. Perhaps the investment of time and effort in creating a proof seems more than the perceived benefit.