From: Barb Knox on
In article <20100227020331.V50201(a)agora.rdrop.com>,
William Elliot <marsh(a)rdrop.remove.com> wrote:

> On Fri, 26 Feb 2010, RussellE wrote:
[SNIP]

> > Yes. I keep forgetting everyone isn't a computer programmer.
>
> Likely you're ignorant of the fact that programmers know less math
> learning programing than they'd know if they didn't study programming.
>
> Yes, programmers need to unlearn what math they thought they learned.

[SNIP]

Similar folk wisdom exists within programming itself:
"You can learn Lisp in a week if you don't know Fortran, or in two weeks
if you do know Fortran."[1]

I'd like to know if there have been any experimental studies that
actually demonstrated (or refuted) the Programming v Mathematics
interference. I don't count the fact that most programmers are
pig-ignorant about mathematics as evidence for such interference, since
most everyone is pig-ignorant about mathematics.[2]


[1] I can't find the source for this quote; it's presumably from the
1960s. Do you know the source?

[2] By "mathematics" I mean actual mathematics with proofs, not
arithmetic or cook-book algebra.

[Added comp.programming, comp.lang.lisp]

--
---------------------------
| BBB b \ Barbara at LivingHistory stop co stop uk
| B B aa rrr b |
| BBB a a r bbb | Quidquid latine dictum sit,
| B B a a r b b | altum videtur.
| BBB aa a r bbb |
-----------------------------
From: staticd on
On Feb 27, 3:14 pm, Barb Knox <s...(a)sig.below> wrote:
> In article <20100227020331.V50...(a)agora.rdrop.com>,
>  William Elliot <ma...(a)rdrop.remove.com> wrote:
>
> > On Fri, 26 Feb 2010, RussellE wrote:
>
> [SNIP]
>
> > > Yes. I keep forgetting everyone isn't a computer programmer.
>
> > Likely you're ignorant of the fact that programmers know less math
> > learning programing than they'd know if they didn't study programming.
>
> > Yes, programmers need to unlearn what math they thought they learned.
>
> [SNIP]
>
> Similar folk wisdom exists within programming itself:
> "You can learn Lisp in a week if you don't know Fortran, or in two weeks
> if you do know Fortran."[1]
>
> I'd like to know if there have been any experimental studies that
> actually demonstrated (or refuted) the Programming v Mathematics
> interference.  I don't count the fact that most programmers are
> pig-ignorant about mathematics as evidence for such interference, since
> most everyone is pig-ignorant about mathematics.[2]
>
> [1] I can't find the source for this quote; it's presumably from the
> 1960s.  Do you know the source?
>
> [2] By "mathematics" I mean actual mathematics with proofs, not
> arithmetic or cook-book algebra.
>
> [Added comp.programming, comp.lang.lisp]
>
> --
> ---------------------------
> |  BBB                b    \     Barbara at LivingHistory stop co stop uk
> |  B  B   aa     rrr  b     |
> |  BBB   a  a   r     bbb   |    Quidquid latine dictum sit,
> |  B  B  a  a   r     b  b  |    altum videtur.
> |  BBB    aa a  r     bbb   |  
> -----------------------------

I would say that computer scientists don't use math as often as they
should.... Engineers know how to apply all the math they have to
learn... :|O
From: Chris F Clark on
Barb Knox <see(a)sig.below> writes:

> I'd like to know if there have been any experimental studies that
> actually demonstrated (or refuted) the Programming v Mathematics
> interference. I don't count the fact that most programmers are
> pig-ignorant about mathematics as evidence for such interference, since
> most everyone is pig-ignorant about mathematics.[2]
....
> [2] By "mathematics" I mean actual mathematics with proofs, not
> arithmetic or cook-book algebra.

I don't have those studies, but I would have to agree with asking the
question. While it is true that one has limits on what one learns if
life, as most of us spend a finite amount of time in school, and time
spent learning one thing is not time spent on another, i.e. we can
apply the pigeon-hole principle, it is not clear that we do not spend
as much time on any given topic as we would have otherwise if we had
not done other things. In other words, it is not clear that the time
spent learning programming negatively impacts the time spent learning
math, nor that it impacts the learning of math.

If we want, to formalize this more, it is not true:

For all (person), person an element of people,
learn(person, programming) implies learn(person, math) <
learn(person, math) given not learn(person, programming)

While it is quite possibly true:

There exits (person), person an element of people,
learn(person, programming) implies learn(person, math) <
learn(person, math) given not learn(person, programming)

And, the experiment would try to establish:

Sum over all (person), person an element of people,
learn(person, programming) implies learn(person, math) <
learn(person, math) given not learn(person, programming)

That is that people who learn programming do so at the expense of
mathematical learning.

And, now I will explain, using a simple example, why I think the sum
probably doesn't hold, acknowledging full well the limits annecdotal
reasoning.

I will take myself as the example. When I was around fifth or sixth
grade, I decided I would be a scientist as my career after seeing a
movie (whose title I can no longer remember, but it was in the style
of "Those Magnificent Men and Their Flying Machines") where people
were attempting to invent perpetual motion machines, and deciding I
would do that. By junior high and the study of algebra, I permutted
that goal to being a mathematician. I loved symbolically manipulating
equations. By High School, I took one of the first "Computer Math"
classes and discovered programming, which morphed my goal even more,
and I wrote my first (toy) compiler in High School. Writing
compilers, a subset of the programming field became my specialty and
my career through most of my adult life and I've used that talent to
do other things in the programming field. I would like to imagine
that if I had not had the specialty I did, I would have successfully
had a career as a mathematician doing some form of symbolic algebra or
set theory, but that kind of work is not that different in principle
from the work I do. It still deals with abstract and very structured
items. It does not in general involve complex calculations (i.e. what
I think of as engineering math), often using those trigonometic
functions. I would have been a failure at that.

Therein lies my point. I have one degree and it is officially a
degree in mathematics, and I know a certain amount of calculus and
differential equations. However, it was only when we got to "advanced
calculus" where I could do epsilon-delta proofs that I did well in
those subjects. Similarly, I was fortunately taught topology from a
point-set perspective, where I could map everything to union and
intersection operations, and thus was able to comprehend it. The point
being, that I essentially reached my own limits mathematically in the
course work I took.

Moreover, the courses I took in programming, grounded me in similar
rigor to the parts of mathematics that I do well in. Moreover, some
of the course, such as automata, allowed me to practice doing proofs
and gave me areas of mathematics to know more deeply. And, in
particular, it was those courses, that allowed me to take the course
in symbolic logic taught by the philosophy department, where I could
do even more proofs in areas I was learning. Sadly, the course in
which one actually recreated Goedel's incompleteness proof wasn't
offered. I did however manage to recreate the proof of Post's
correspondence theorem in one class. So, in the areas I do well, I
was able to study "mathematics" well outside the bounds of the
department.

Even the person whose attempt to devise an ultrafinite set theory
illustrates this point. Here is a programmer and one of his basic
tools of trade is Boolean Algebra, which is essentially a mathematical
formalism. That mathematics he was taught because he studied
programming not inspite of it.

Given the above annecdotal evidence, I find it suspect to believe that
people who learn programming, learn less mathematics than they would
have otherwise. I think it is more likely that the reverse is true.

The only difference I can see in my own life, is that had I continued
in mathematics, my career option would have required more schooling
and it wasn't clear if that would have been possible since I stopped
school because I was broke and had no means of support (i.e. I needed
to take a paying full-time job) rather than any other reason. I then
continued my own education by reading the relevant papers in the
fields that interested me and eventually did publish a paper and later
ran a workshop in my own field. While I am confident I could have
found a school somewhere that would have offered me an assistanceship
to further my education, I don't think I would have done anything more
mathematically significant than the work I ended up doing in my chosen
career.

Hope this helps,
-Chris

******************************************************************************
Chris Clark email: christopher.f.clark(a)compiler-resources.com
Compiler Resources, Inc. Web Site: http://world.std.com/~compres
23 Bailey Rd voice: (508) 435-5016
Berlin, MA 01503 USA twitter: @intel_chris
------------------------------------------------------------------------------

From: Barb Knox on
In article <sddtyt1ibkr.fsf(a)shell01.TheWorld.com>,
Chris F Clark <cfc(a)shell01.TheWorld.com> wrote:

> Barb Knox <see(a)sig.below> writes:
>
> > I'd like to know if there have been any experimental studies that
> > actually demonstrated (or refuted) the Programming v Mathematics
> > interference. I don't count the fact that most programmers are
> > pig-ignorant about mathematics as evidence for such interference, since
> > most everyone is pig-ignorant about mathematics.[2]
> ...
> > [2] By "mathematics" I mean actual mathematics with proofs, not
> > arithmetic or cook-book algebra.
>
> I don't have those studies, but I would have to agree with asking the
> question. While it is true that one has limits on what one learns if
> life, as most of us spend a finite amount of time in school, and time
> spent learning one thing is not time spent on another, i.e. we can
> apply the pigeon-hole principle, it is not clear that we do not spend
> as much time on any given topic as we would have otherwise if we had
> not done other things. In other words, it is not clear that the time
> spent learning programming negatively impacts the time spent learning
> math, nor that it impacts the learning of math.

My question is not about the amount of time spent or not spent learning
maths, but whether or not there is some *active* cognitive interference
such that learning programming first (which was not your experience)
makes it significantly more difficult to then learn actual maths.

The maxim "You can learn Lisp in a week if you don't know Fortran, or in
two weeks if you do know Fortran" deals with the phenomenon that having
a Fortran mindset (procedural, non-recursive, mostly mutable data, a
small fixed set of data types, etc.) actively interferes with acquiring
the Lisp mindset (largely functional, recursive, much immutable data,
roll-your-own data types, etc.)

Whether or not there is good evidence for the Fortran v Lisp
interference, my question is whether there is good evidence for a
similar programming v maths interference. I find it intuitively
plausible, especially if the previously learnied programming is of the
Fortran / C / etc. variety.

For example, such programming has almost exclusively a time-oriented
operational semantics ("if such-and-such is the case right before that
statement is executed then so-and-so will be the case right after").
This is not the sort of semantics that is common in mathematics, which
usually deals with "eternal truths".


> If we want, to formalize this more, it is not true:
>
> For all (person), person an element of people,
> learn(person, programming) implies learn(person, math) <
> learn(person, math) given not learn(person, programming)
>
> While it is quite possibly true:
>
> There exits (person), person an element of people,
> learn(person, programming) implies learn(person, math) <
> learn(person, math) given not learn(person, programming)
>
> And, the experiment would try to establish:
>
> Sum over all (person), person an element of people,
> learn(person, programming) implies learn(person, math) <
> learn(person, math) given not learn(person, programming)
>
> That is that people who learn programming do so at the expense of
> mathematical learning.
>
> And, now I will explain, using a simple example, why I think the sum
> probably doesn't hold, acknowledging full well the limits annecdotal
> reasoning.
>
> I will take myself as the example. When I was around fifth or sixth
> grade, I decided I would be a scientist as my career after seeing a
> movie (whose title I can no longer remember, but it was in the style
> of "Those Magnificent Men and Their Flying Machines") where people
> were attempting to invent perpetual motion machines, and deciding I
> would do that. By junior high and the study of algebra, I permutted
> that goal to being a mathematician. I loved symbolically manipulating
> equations. By High School, I took one of the first "Computer Math"
> classes and discovered programming, which morphed my goal even more,
> and I wrote my first (toy) compiler in High School. Writing
> compilers, a subset of the programming field became my specialty and
> my career through most of my adult life and I've used that talent to
> do other things in the programming field. I would like to imagine
> that if I had not had the specialty I did, I would have successfully
> had a career as a mathematician doing some form of symbolic algebra or
> set theory, but that kind of work is not that different in principle
> from the work I do. It still deals with abstract and very structured
> items. It does not in general involve complex calculations (i.e. what
> I think of as engineering math), often using those trigonometic
> functions. I would have been a failure at that.
>
> Therein lies my point. I have one degree and it is officially a
> degree in mathematics, and I know a certain amount of calculus and
> differential equations. However, it was only when we got to "advanced
> calculus" where I could do epsilon-delta proofs that I did well in
> those subjects. Similarly, I was fortunately taught topology from a
> point-set perspective, where I could map everything to union and
> intersection operations, and thus was able to comprehend it. The point
> being, that I essentially reached my own limits mathematically in the
> course work I took.
>
> Moreover, the courses I took in programming, grounded me in similar
> rigor to the parts of mathematics that I do well in. Moreover, some
> of the course, such as automata, allowed me to practice doing proofs
> and gave me areas of mathematics to know more deeply. And, in
> particular, it was those courses, that allowed me to take the course
> in symbolic logic taught by the philosophy department, where I could
> do even more proofs in areas I was learning. Sadly, the course in
> which one actually recreated Goedel's incompleteness proof wasn't
> offered. I did however manage to recreate the proof of Post's
> correspondence theorem in one class. So, in the areas I do well, I
> was able to study "mathematics" well outside the bounds of the
> department.
>
> Even the person whose attempt to devise an ultrafinite set theory
> illustrates this point. Here is a programmer and one of his basic
> tools of trade is Boolean Algebra, which is essentially a mathematical
> formalism. That mathematics he was taught because he studied
> programming not inspite of it.
>
> Given the above annecdotal evidence, I find it suspect to believe that
> people who learn programming, learn less mathematics than they would
> have otherwise. I think it is more likely that the reverse is true.
>
> The only difference I can see in my own life, is that had I continued
> in mathematics, my career option would have required more schooling
> and it wasn't clear if that would have been possible since I stopped
> school because I was broke and had no means of support (i.e. I needed
> to take a paying full-time job) rather than any other reason. I then
> continued my own education by reading the relevant papers in the
> fields that interested me and eventually did publish a paper and later
> ran a workshop in my own field. While I am confident I could have
> found a school somewhere that would have offered me an assistanceship
> to further my education, I don't think I would have done anything more
> mathematically significant than the work I ended up doing in my chosen
> career.
>
> Hope this helps,
> -Chris
>
> ******************************************************************************
> Chris Clark email: christopher.f.clark(a)compiler-resources.com
> Compiler Resources, Inc. Web Site: http://world.std.com/~compres
> 23 Bailey Rd voice: (508) 435-5016
> Berlin, MA 01503 USA twitter: @intel_chris
> ------------------------------------------------------------------------------

--
---------------------------
| BBB b \ Barbara at LivingHistory stop co stop uk
| B B aa rrr b |
| BBB a a r bbb | Quidquid latine dictum sit,
| B B a a r b b | altum videtur.
| BBB aa a r bbb |
-----------------------------
From: Frederick Williams on
Chris F Clark wrote:

> If we want, to formalize this more, [...]

Having read what I've snipped before I snipped it, I say let's not want.