Skip to content
Permalink
master
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
executable file 120 lines (77 sloc) 8.37 KB
\documentclass[]{article}
%opening
\title{}
\author{}
\begin{document}
\maketitle
\begin{abstract}
While there are many aspects of students' conceptions of proofs that are interesting, we concentrate our attention to proofs that seem to be useful in the enterprise of showing the correctness, progress, termination, safety and resource utilization of algorithms.
\end{abstract}
\chapter{Findings}
\section{Abstraction}
Literature reports\cite{keylist}
student of CS have trouble with abstraction.
Taking abstraction to be the ability to select some details to ignore, and thereby find a simpler model of an entity,
we can transform the idea knowlege transfer experience into one disabled by a lack of ability to see this dimension.
The multiple-inheritance hierarchy that could be used to organize definitions and relationships of ideas is
less able,
More entities will be grouped together than effective use of the multiple inheritance hierarchy would consider equivalent.
Another useful concept that students have been seen to underappreciate is the significance of careful definitions.
Abtraction hierarchies allow for efficiency in definitions.
A new entity can be defined as a specialization of an existing entity, and its differences make up the new definition material.
In the absence of this multiple inheritance hierarchy, every definition in its full length is attached to its entity.
Tie in with Mazur. For students holding the same granularity of refinement of concepts, conversations would be easier, because htere would be fewer disconnects as one participant expressed a thought on one degree of refinement far from that of another student.
If the ideas implying the refinement of the definition inheritance graph, being different from one discussant to the next, are rare, and/or the meaning of the sentence does not depend upon it, these exchanges are not too disruptive or distressing. On the other hand when two sets of refinement are very different, and the meaning of the exchange depends upon the refinement in the speaker, that the hearer does not have, then some degree of failure of communication will ensue.
Absence of abstraction converts tree of topics into sequence of topics.
Tree of proof examples (say of application of proof technique) into sequence of examples.
Might detract from recognizing what is a related example.
Would detract from plausible inference technique of "related problem seen before".
We have a goal for student programming that they should strive for segments of programs (e.g., method implementations) to be small. One way of accomplishing this is to use abstraction, such as combining instructions into a method, and calling the method.
If students have difficulty with abstraction, they might have difficulty with choosing groups of instructions to represent as a method. Correspondingly, if they practice group instructions into methods, and using those methods, they would be gaining practice relevant to using abstraction.
One way to cultivate abstraction is to pose a question of which one of several examples is different.
When several things are examples of one abstract idea and one is not, identifying the one that is different involves noticing the abstraction.
These questions could be instantiated using blocks of code.
\section{Definitions}
Without abstraction the burdensomeness of definitions is increased.
This could contribute to the reluctance of students to embrace definitions.
\section{Symbolization}
Use of symbols is a kind of abstraction.
Symbolization is the syntax for simple, clear definitions as Gries\cite[]p.205] {science} recommends for construction of prograns.
Students will be hindered at this program derivation/development style if symbolization is a not-yet-acquired skill.
Program development/derivation should begin with a formulation of the requirements.
Students may arrive with some programming experience that is of a more intuitive, less mathematically disciplined sort. We have to ask how we desire to cultivate the abilities of such students.
Vygotsky discussed language acquisition by children, in which some children will have begun to invent some terms for items in their environment, and will need to be guided to abandon neologisms for the naming generally agreed in their environment.
Kuhn discussed the reluctance of scientists who have been rewarded for operating in one perspective on nature to adopt a different perspective.
Intsructors may encounter a similar reluctance on the part of students to adapt a scientifically/mathematically disciplined approach to programming, especially if the students have experienced some success in their earlier work.
To win over such students, demonstration of superior outcomes on problems, especially on problems that seem insoluble otherwise, are more frequently convincing.
Happily, Professor Gries has provided such examples.
By showing superior relative efficacy of these approaches in an activity the students recognize as desirable, instructors could motivate the students to learn symbolization.
\section{Structure}
sequence vs sequence that has come about from combining parts. Refer to Leslie Lamport's structure for proofs. Combine with Gries' proofs for deriving code. The purpose for getting through Goguen and Malcolm is that it applies to imperative programs.
\chapter{Interpretation}
\section{Algebra}
In middle or high school algebra students became familiar with the use of letters in equations, and solving equations which resulted in individual values, or no value, being attached to the letters.
Ideally the ability to understand expressions, to formulate pre-and post conditions would be acquired.
As we have seen that this occurs sometimes, but does not always occur, there may be benefit to some students to review this idea.
We might choose to emphasize abstraction in this process.
\section{Geometry}
In high school geometry, formal proofs of geometric properties are covered. Students are exposed to a form for argument, and are given examples of use of rules inference to perform logical deduction.
We have seen that sometimes this process is appreciated in enough generality to be recognized as an example of argumentation.
We have seen as well, that some students found this process entirely specific to geometry, doubting that it had broader application.
\section{Seeing a Broader Context}
It may be that some students do not see a separation between the activity of formalization on the one hand, and the application area of finding solutions to equations on the other.
It may be that some students do not see a separation between the activity of deducing using logic on the one hand, and the application area of learning geometric facts on the other.
It seems consistent with neglecting opportunities for abstraction, that these separations are not always seen.
Speciation, an idea which uses abstraction, providing a hierarchy of properties animals and plants might have, was not recognizd early or universally.
So,it is not surprising that abstraction, which involves choice about which details to defer, and which to regard as significant, is not always obvious.
In the machine learning perspective, features can be learned.
What do I want to say, it takes some effort to recognize features?
There might be a way to formulate choice of features such that some better efficiency is gained by thinking of the features in that order vs. another order. (Such as, we never have to think about some features for some parts of the tree.)
If we think about knowledge being organized in neural networks, such that abstraction has a physical manifestation, we can see that ideas between which there is little distance in the tree will more frequently elicit one another by linkages at the metabolic level.
At the neural level, modifications for efficiency are constantly taking place (Do we have this from Mandel and Squires?).
We might wish to exploit this in the way we teach, to exhibit the abstraction deliberately, to minimize the amount of neural connection remodeling that would occur in the process of providing an efficient neural representation.
Being able to learn by analogy testifies to the utility of having a neural representation that corresponds to abstraction.
Students who are working without hierarchical organization of concepts are at a disadvantage.
\section{Mathematics tests in high school that involve proving}
What can we learn from students of computer science who excelled in reasoning to this level?
\end{document}