Live data from Hacker News

A Programmer's Introduction to Mathematics

jeremykun.com

151–160 of 223 posts

Re: A Programmer's Introduction to Mathematics

#151
post #133
post #91

Earlier quoted context omitted.

> The most annoying things about math books is the lack of solutions. To me the most annoying thing about math books is hand-waving, lack of rigor, and unexplained notation. At least in programming, everything is formal and I can figure out the entire problem by looking at the source.

Sentences like "It similarly follows that..." , "It is left as an exercise to the reader to show that..." , "Clearly, ..." always leave me dumbfounded.

Those phrases can definitely be abused. When used correctly I think they invite the reader to actively engage with the text and learn to think for themselves instead of passively have everything given for them. The author needs to make sure that they’ve actually given enough information up to that point that the reader, with maybe a few minutes of thought, can see why it’s “clear” or work out the similar case in their notes.

Re: A Programmer's Introduction to Mathematics

#152

Earlier quoted context omitted.

The main reason to study mathematics is to build and fix your intuition, hence studying rote solutions is a waste of time. It might help you pass the class but it wont help you much at all in other parts of life. For example, at work nobody will care if you have rote memorized a solution or not since they will have already done the math, you will just apply formulas others have came up with. In order to do anything i…

I’d argue that a true beginner shouldn’t trust their intuition unless they have the rigor to prove it is correct. True beginners may think they have solid intuition and a rigorous proof, but without outside validation, may have a blantant or subtle error they cannot see. The point is not to study rote solutions, but to check correctness. Edit: To your reply below, I’m talking about someone that is self-studying and h…

> I’d argue that a true beginner shouldn’t trust their intuition unless they have the rigor to prove it is correct.

Yes, which is why you want a teacher until you reach that stage.

> The point is not to study rote solutions, but to check correctness.

Looking at others solutions can in no way prove that your solution is incorrect so I am not sure how those would help you. However having access to others solutions often makes students doubt their own solutions if they don't look very similar, this hampers their growth since they learn to distrust intuitions which are actually correct.

Re: A Programmer's Introduction to Mathematics

#153
post #47

From the bit I've read from https://pimbook.org/pdf/pim_first_pages.pdf it seems to be very very poor. * 19 pages of droning before you start with something concrete. Much talk talk talk about your experiences before you get to the point. I can't put into words how much it frustrates me when I'm expecting to read something interesting and the author takes 3 paragraphs talking about nothing (usually with lots of overe…

wtf is wrong with hn. >[sorry if I am being blunt, but it's how I feel] you should learn to keep your feelings to yourself when the only function they serve is to denigrate others and derive cruel satisfaction for yourself. >Here is a rule of thumb that in my experience applies well to almost everything in mathematics this is aspirational pretension - everyone claims to appreciate formal purity /after/ they've learne…

https://news.ycombinator.com/newsguidelines.html ("Guidelines" link at bottom of every page)

> In Comments

> Be civil. Don't say things you wouldn't say face-to-face. Don't be snarky. Comments should get more civil and substantive, not less, as a topic gets more divisive.

> When disagreeing, please reply to the argument instead of calling names. "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."

Re: A Programmer's Introduction to Mathematics

#154
post #139

I have a genuine question which might sound dumb but I really do wonder. How do you actually read math, physics and programming books? Reading them the same way as you'd read a novel doesn't seem right. I try to go chapter after chapter and make notes but I often get bored because I don't see the usage in my real life coding. Maybe I'm not working on problems that are challenging enough? Also after few chapters it of…

"...study actively. Don't just read it: fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical special case? What about the degenerate cases? Where does the proof use the hypothesis?...it is not a good idea to open a book on page 1 and read it, working all the problems in order, till you come to the last page. It's a bad idea. The material is arranged in the book so that its linear reading is logically defensible, to be sure, but we readers are human, all different from one another and from the author, and each of us is likely to find something difficult that is easy for someone else. My advice is to read till you come to a definition new to you, and then stop and try to think of examples and non-examples, or till you come to a theorem new to you, and then stop and try to understand it and prove it for yourself --- and, most important, when you come to an obstacle, a mysterious passage, an unsolvable problem, just skip it. Jump ahead, try the next problem, turn the page, go to the next chapter, or even abandon the book and start another one. Books may be linearly ordered, but our minds are not."

(P.R. Halmos)

Re: A Programmer's Introduction to Mathematics

#155
post #91

Earlier quoted context omitted.

> The most annoying things about math books is the lack of solutions. To me the most annoying thing about math books is hand-waving, lack of rigor, and unexplained notation. At least in programming, everything is formal and I can figure out the entire problem by looking at the source.

How do programming books prove correctness of the algorithms taught? Hand waving. It is very frustrating to read for me, mathematical texts are a lot better at proving things.

In mathematics as well as in programming, there are rigorous and less rigorous texts. Compare “Linear Algebra for Dummies” with “Principia Mathematica”, for example. I haven’t read the first or more than a page or so of the second, but I think you’ll find the latter more rigorous.

Similarly, in programming, “Teach Yourself PHP in 24 Hours” is wildly different from “the Art of Computer Programming” (a series of books that you may like reading)

Re: A Programmer's Introduction to Mathematics

#156
post #139

I have a genuine question which might sound dumb but I really do wonder. How do you actually read math, physics and programming books? Reading them the same way as you'd read a novel doesn't seem right. I try to go chapter after chapter and make notes but I often get bored because I don't see the usage in my real life coding. Maybe I'm not working on problems that are challenging enough? Also after few chapters it of…

I am going to quote Manuel Blum's advice for graduate students [1].

"Books are random access -- a great innovation over scrolls. "

[1] https://www.cs.cmu.edu/~mblum/research/pdf/grad.html

Re: A Programmer's Introduction to Mathematics

#157
post #154
post #139

I have a genuine question which might sound dumb but I really do wonder. How do you actually read math, physics and programming books? Reading them the same way as you'd read a novel doesn't seem right. I try to go chapter after chapter and make notes but I often get bored because I don't see the usage in my real life coding. Maybe I'm not working on problems that are challenging enough? Also after few chapters it of…

"...study actively. Don't just read it: fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical special case? What about the degenerate cases? Where does the proof use the hypothesis?...it is not a good idea to open a book on page 1 and read it, working all the problems in order, till you come to the last…

There's a classical book titled "How to Read a Book" by Mortimer Adler. It's about reading texts for information, arguments, etc., but not pleasure. The heart of it is to not read the book linearly from cover to cover. Ideally you'd do multiple passes, often non-linearly, at different speeds, skipping different parts, concentrating on different parts. You'd start with parts that are known to have most information, like introductions and conclusions, the table of contents. Then introducing and concluding paragraphs, then introducing and concluding sentences. All the meanwhile, you'll be getting a top-down view of the material and you'll be naturally honing in on the parts that are pertaining to you.

Reading mathematics has a whole series of additional challenges. In my limited experience with reading those: nurturing comfort in incomprehension is important; it's often better to skip a part than get stuck on it; look for multiple accounts of the same concept.

Re: A Programmer's Introduction to Mathematics

#158
post #139

I have a genuine question which might sound dumb but I really do wonder. How do you actually read math, physics and programming books? Reading them the same way as you'd read a novel doesn't seem right. I try to go chapter after chapter and make notes but I often get bored because I don't see the usage in my real life coding. Maybe I'm not working on problems that are challenging enough? Also after few chapters it of…

Relevant discussion :

Ask HN: How do you read programming books? (https://news.ycombinator.com/item?id=15733745)

Re: A Programmer's Introduction to Mathematics

#159

Earlier quoted context omitted.

But at least all imperative procedural steps are clearly understandable from source code given in many programming books. Where as maths books routinely leave out many steps in proofs and calculations, on top of many ambiguously used notations and terminology that can leave a self-student confused.

A program proves nothing at all so I am not sure what you can understand from it? Typically in programming you are presented with a piece of code, a statement that this piece of code solves a specific problem and then a proof of that it actually works. Those proofs are typically far from understandable or rigorous.

> Typically in programming you are presented with a piece of code, a statement that this piece of code solves a specific problem and then a proof of that it actually works.

Not really. It's quite unusual to see a serious formal approach.

I'm working through a book that uses C++. Every few pages I find undefined behaviour (struct punning, illegal use of memset to zero-out objects, etc) and needless usage of non-standard compiler-specific language features.

This is the well it works on my machine mindset used widely in programming, even in books written by highly qualified people.

> Those proofs are typically far from understandable or rigorous.

I'm not sure what kind of thing you're thinking of here. Can you give an example?

Re: A Programmer's Introduction to Mathematics

#160
post #139

I have a genuine question which might sound dumb but I really do wonder. How do you actually read math, physics and programming books? Reading them the same way as you'd read a novel doesn't seem right. I try to go chapter after chapter and make notes but I often get bored because I don't see the usage in my real life coding. Maybe I'm not working on problems that are challenging enough? Also after few chapters it of…

[deleted]
Post reply on HN