Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #37579 > unrolled thread
| Started by | Albretch Müller <tekmonk2005@yahoo.com> |
|---|---|
| First post | 2017-10-22 19:28 -0400 |
| Last post | 2017-10-28 23:30 +0200 |
| Articles | 7 — 4 participants |
Back to article view | Back to comp.lang.java.programmer
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
| From | Albretch Müller <tekmonk2005@yahoo.com> |
|---|---|
| Date | 2017-10-22 19:28 -0400 |
| Subject | Thorough 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]
| From | Albretch Müller <tekmonk2005@yahoo.com> |
|---|---|
| Date | 2017-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]
| From | Joerg Meier <joergmmeier@arcor.de> |
|---|---|
| Date | 2017-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2017-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]
| From | Martin Gregorie <martin@address-in-sig.invalid> |
|---|---|
| Date | 2017-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]
| From | Martin Gregorie <martin@address-in-sig.invalid> |
|---|---|
| Date | 2017-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]
| From | Joerg Meier <joergmmeier@arcor.de> |
|---|---|
| Date | 2017-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