Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #37579 > unrolled thread

Thorough Mathematical intro to "computer 'science'" ...

Started byAlbretch Müller <tekmonk2005@yahoo.com>
First post2017-10-22 19:28 -0400
Last post2017-10-28 23:30 +0200
Articles 7 — 4 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  Thorough Mathematical intro to "computer 'science'" ... Albretch Müller <tekmonk2005@yahoo.com> - 2017-10-22 19:28 -0400
    Re: Thorough Mathematical intro to "computer 'science'" ... Albretch Müller <tekmonk2005@yahoo.com> - 2017-10-23 14:49 -0400
      Re: Thorough Mathematical intro to "computer 'science'" ... Joerg Meier <joergmmeier@arcor.de> - 2017-10-27 09:33 +0200
        Re: Thorough Mathematical intro to "computer 'science'" ... Arne Vajhøj <arne@vajhoej.dk> - 2017-10-27 10:37 -0400
          Re: Thorough Mathematical intro to "computer 'science'" ... Martin Gregorie <martin@address-in-sig.invalid> - 2017-10-29 01:40 +0000
        Re: Thorough Mathematical intro to "computer 'science'" ... Martin Gregorie <martin@address-in-sig.invalid> - 2017-10-27 17:25 +0000
          Re: Thorough Mathematical intro to "computer 'science'" ... Joerg Meier <joergmmeier@arcor.de> - 2017-10-28 23:30 +0200

#37579 — Thorough Mathematical intro to "computer 'science'" ...

FromAlbretch Müller <tekmonk2005@yahoo.com>
Date2017-10-22 19:28 -0400
SubjectThorough Mathematical intro to "computer 'science'" ...
Message-ID<osjnlv$1e5$1@gioia.aioe.org>
  Mathematicians, Physicists and Engineers don't really need to learn 
about computers since to them it becomes like second nature and CS folks 
have their own "funky" ways to see and use Mathematics/Logic (let's not 
get into their self-aggrandizing, self-serving AI philosophy nonsense 
;-)). Apparently, this creates a vacuum, as I have noticed while trying 
to motivate my 14 year old nephew to learn Math more "seriously".

  I have searched deep and wide for such an introductory book in which 
high school Math would be foremost and computer programming (preferably 
C, C++ or Java) would just be introduced as examples and exercises to 
keep students "motivated", something like:

  * number sense <-> primitive data types (a little bit of how 
processors internally do Math)
  * (computable) function <-> algorithms
  * algebraic like terms <-> SQL records <-> objects created based on 
the same class definition (the addition operation for those objects 
would not be naturally defined, but the addition of their quantifiable 
attributes certainly can, as well as the stratification of the 
non-quantifiable ones)
  * sets (of elements/objects basically sharing their "belongingness") 
would be like objects belonging to abstract classes
  ...

  Do you have any suggestions about such books or terminological 
glossaries attempting to map Mathematical and CS concepts?

  lbrtchx

[toc] | [next] | [standalone]


#37582

FromAlbretch Müller <tekmonk2005@yahoo.com>
Date2017-10-23 14:49 -0400
Message-ID<oslrln$1kiu$1@gioia.aioe.org>
In reply to#37579
On 10/23/2017 01:31 AM, Stefan Ram wrote:
 >>  Mathematicians, Physicists and Engineers don't really need to learn
 >> about computers since to them it becomes like second nature
 >
 >   Just ask a mathematician, a physicist or an engineer about
 >   the pumping lemma or ask them to write a recursive descent
 >   parser for Java and see what happens to that "second nature"
 >   when you test it.

  Second nature does not relate to "magic". They will certainly get what 
it is about and implement it effortlessly. I don't even see what would 
be the big deal about a recursive descent parser.

 >>      Apparently, this creates a vacuum, as I have noticed while trying
 >> to motivate my 14 year old nephew to learn Math more "seriously".
 >
 >   I wonder if it is possible or necessary to do this.

  Any specifics about what makes you wonder about it?

 >   Many very successful people hate and despise math.

  The way I would put it is "very successful people" also have the 
psychological need to "hate" some things. In order to talk and even 
think about their daily lives, people use lots of Math. I show to my 
students how even animals understand Algebra. At some point they see and 
feel how neurotically stupid those "I hate Math" reactions sound. Would 
you 'hate', say, pencils?

 >>  Do you have any suggestions about such books or terminological
 >> glossaries attempting to map Mathematical and CS concepts?
 >
 >   They only map superficially, they do not map directly. An
 >   algorithm might implement a function, but one also might say
 >   that an array or a java.util.Map implements a function.

  Well, yes, but how superficially and/or directly goes into the land of 
interpretations/opinions.

  For example, I have had PhDs (in "humanities" (those subjects of 
studies based on gossiping ;-))) tell me "they never understood 
fractions" and after a few minutes of going through the "you can only 
add mangoes to ..." routine they have told me "you make things seem 
easier than they are" ;-) Most people who say "they don't understand 
fractions", don't even realize what they are talking about and you 
notice it when they tell you about "the number on the top and the number 
on the bottom" (as if numbers were having sex or something ;-)). I ask 
them: "where is the number on which bottom?" (visual people tend to have 
shaky minds). Then I proceed to explain to them that the word 
"denominator" comes from the Latin verb "denominare" which means "to 
name", so "fifths" and "halves" would be like "mangoes", "oranges", 
"books", "flower petals", ... and you can only add ... to? ...

  Then I use the intrinsic algebraic aspect of fractions to 
"darüberhinausgehend" introduce algebraic ones. Again little resistance 
when they see those dreaded Xs "..., but what is the 'meaning' of the 
X?" then I explain to them that the beauty of Algebra is exactly that it 
doesn't effing matter and I ask them: "what is the 'meaning' of one 
dollar?" ...

  I also tell my students if they use cell phones they can certainly 
understand what (computable) functions are:

  https://ergosumus.wordpress.com/2017/10/23/functions/

 >   Infinity and limits, on the other hand, often are important
 >   parts of mathematical concepts (there is an infinite number
 >   of real numbers, most of them with infinitively many digits
 >   in their decimal expansion) that often cannot be implemented
 >   directly in a computer representation of theese concepts.
 >   (There is only a finite amount of double values in Java.)

  Hmm! What is it exactly you can't implement with a computer? Who cares 
about the infinite numbers, say, a quadratic function describes when all 
you need is the three coefficients describing it or their generating 
formulas (which you could also use in vectorial ways)?

  I have found very few things that are not easily implementable with 
algorithms, but, yes, when you use binary based arithmetic you can only 
do approximate Arithmetic division and multiplication with any number 
that is not a power of two, but no one and nothing would stop you from 
doing Math in a totally algebraic way, using prime numbers as the basis 
of a numeric system. In fact, I tell my students that the use of numbers 
in Math was a relatively late adoption in the "Western culture", that 
Egyptians didn't know about "numbers", nor did they care to keep their 
society running just fine for centuries based on ropes and walks (the 
regular floods of the Nile, the sun, stars, ... their  sweat, ...).

 >   (I wrote more about this topic in my other answers to your
 >   question in other programming newsgroups.)

  Thank you,
  lbrtchx

[toc] | [prev] | [next] | [standalone]


#37586

FromJoerg Meier <joergmmeier@arcor.de>
Date2017-10-27 09:33 +0200
Message-ID<c9tvt4asfdcc.1ow84lcbs8hc0.dlg@40tude.net>
In reply to#37582
On 24 Oct 2017 04:02:10 GMT, Stefan Ram wrote:

> =?UTF-8?Q?Albretch_M=c3=bcller?= <tekmonk2005@yahoo.com> writes:
>>Hmm! What is it exactly you can't implement with a computer?
>   (Obviously, one cannot write a Java program that will read
>   another Java program and output whether the other Java
>   program will terminate. But I was not thinking about this.)

Excuse me ? Are you seriously claiming that Java is not Turing complete, or
did I misunderstand your statement ?

Liebe Gruesse,
		Joerg

[toc] | [prev] | [next] | [standalone]


#37590

FromArne Vajhøj <arne@vajhoej.dk>
Date2017-10-27 10:37 -0400
Message-ID<osvgbd$1tlg$1@gioia.aioe.org>
In reply to#37586
On 10/27/2017 3:33 AM, Joerg Meier wrote:
> On 24 Oct 2017 04:02:10 GMT, Stefan Ram wrote:
>> =?UTF-8?Q?Albretch_M=c3=bcller?= <tekmonk2005@yahoo.com> writes:
>>> Hmm! What is it exactly you can't implement with a computer?
>>    (Obviously, one cannot write a Java program that will read
>>    another Java program and output whether the other Java
>>    program will terminate. But I was not thinking about this.)
> 
> Excuse me ? Are you seriously claiming that Java is not Turing complete, or
> did I misunderstand your statement ?

https://en.wikipedia.org/wiki/Halting_problem

<quote>
Alan Turing proved in 1936 that a general algorithm to solve the halting 
problem for all possible program-input pairs cannot exist. A key part of 
the proof was a mathematical definition of a computer and program, which 
became known as a Turing machine; the halting problem is undecidable 
over Turing machines. It is one of the first examples of a decision problem.
</quote>

https://en.wikipedia.org/wiki/Turing_completeness

<quote>
In computability theory, a system of data-manipulation rules (such as a 
computer's instruction set, a programming language, or a cellular 
automaton) is said to be Turing complete or computationally universal if 
it can be used to simulate any Turing machine. The concept is named 
after English mathematician and computer scientist Alan Turing.
</quote>

Stefan's statement seems to match fine as far as I can see.

Arne

[toc] | [prev] | [next] | [standalone]


#37605

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2017-10-29 01:40 +0000
Message-ID<ot3bim$14r$1@dont-email.me>
In reply to#37590
On Fri, 27 Oct 2017 10:37:33 -0400, Arne Vajhøj wrote:

> On 10/27/2017 3:33 AM, Joerg Meier wrote:
>> On 24 Oct 2017 04:02:10 GMT, Stefan Ram wrote:
>>> =?UTF-8?Q?Albretch_M=c3=bcller?= <tekmonk2005@yahoo.com> writes:
>>>> Hmm! What is it exactly you can't implement with a computer?
>>>    (Obviously, one cannot write a Java program that will read another
>>>    Java program and output whether the other Java program will
>>>    terminate. But I was not thinking about this.)
>> 
>> Excuse me ? Are you seriously claiming that Java is not Turing
>> complete, or did I misunderstand your statement ?
> 
> https://en.wikipedia.org/wiki/Halting_problem
> 
> <quote>
> Alan Turing proved in 1936 that a general algorithm to solve the halting
> problem for all possible program-input pairs cannot exist. A key part of
> the proof was a mathematical definition of a computer and program, which
> became known as a Turing machine; the halting problem is undecidable
> over Turing machines. It is one of the first examples of a decision
> problem.
> </quote>
> 
> https://en.wikipedia.org/wiki/Turing_completeness
> 
> <quote>
> In computability theory, a system of data-manipulation rules (such as a
> computer's instruction set, a programming language, or a cellular
> automaton) is said to be Turing complete or computationally universal if
> it can be used to simulate any Turing machine. The concept is named
> after English mathematician and computer scientist Alan Turing.
> </quote>
> 
> Stefan's statement seems to match fine as far as I can see.
> 
> Arne
>
Yep. I've seen descriptions of Turing machines and one description of a 
hardware implementation. Interesting stuff. 

The implementation, described in A.K. Dewdney's book "The Armchair 
Universe" the the 'Busy Beavers' chapter was based on a 6809 chip with a 
'memory'capable of holding 4096 marks.

However, just about all of the more abstract descriptions have assumed 
that the program was a Finite State Machine implementation.

Sorry if this is off topic, but although I have no intention of building 
or implementing a Turing Machine, I do find them fascinating. Maybe its a 
side effect of living reasonably close to Bletchley Park and having seen 
the rebuilt Bombe sitting there, dripping oil and the reconstructed 
Colossus fired up and running.


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#37593

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2017-10-27 17:25 +0000
Message-ID<osvq6l$t1b$3@dont-email.me>
In reply to#37586
On Fri, 27 Oct 2017 09:33:57 +0200, Joerg Meier wrote:

> On 24 Oct 2017 04:02:10 GMT, Stefan Ram wrote:
> 
>> =?UTF-8?Q?Albretch_M=c3=bcller?= <tekmonk2005@yahoo.com> writes:
>>>Hmm! What is it exactly you can't implement with a computer?
>>   (Obviously, one cannot write a Java program that will read another
>>   Java program and output whether the other Java program will
>>   terminate. But I was not thinking about this.)
> 
> Excuse me ? Are you seriously claiming that Java is not Turing complete,
> or did I misunderstand your statement ?
>
No: he's just saying that the Halting Problem isn't algorithmically 
solvable, which is what Turing proved.


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#37603

FromJoerg Meier <joergmmeier@arcor.de>
Date2017-10-28 23:30 +0200
Message-ID<747xpjrmowva$.nf9e9fx4m6g7.dlg@40tude.net>
In reply to#37593
On Fri, 27 Oct 2017 17:25:41 -0000 (UTC), Martin Gregorie wrote:

> On Fri, 27 Oct 2017 09:33:57 +0200, Joerg Meier wrote:
>> On 24 Oct 2017 04:02:10 GMT, Stefan Ram wrote:
>>> =?UTF-8?Q?Albretch_M=c3=bcller?= <tekmonk2005@yahoo.com> writes:
>>>>Hmm! What is it exactly you can't implement with a computer?
>>>   (Obviously, one cannot write a Java program that will read another
>>>   Java program and output whether the other Java program will
>>>   terminate. But I was not thinking about this.)
>> Excuse me ? Are you seriously claiming that Java is not Turing complete,
>> or did I misunderstand your statement ?
> No: he's just saying that the Halting Problem isn't algorithmically 
> solvable, which is what Turing proved.

Thank you (and Arne) for the clarification, I did indeed misunderstand
Stefans post. My bad.

Liebe Gruesse,
		Joerg

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web