Live data from Hacker News

Equations True Computer Science Geeks Should (at Least Pretend to) Know

elegantcoding.com

71–80 of 100 posts

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#71
post #63

Earlier quoted context omitted.

Do you have an example of mathematics that could be made more accessible but hasn't been?

A more recent example I've come across are n-dimensional spaces. I realized that most people have problems to make sense of the concept behind that because they've been stuck in thinking mathematically. I think of points in an n-dimensional space as objects holding n different types of information, which is a practical approach, and has lit a candle for some other people I explained it to this way as well. For exampl…

The way you think of it is precisely the mathematical way of thinking about n-dimensions.

Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others.

Mathematics is just careful abstraction. If you are abstracting away certain aspects of your problem and carefully making deductions about what is left, you are doing mathematics. As you point out, this can be taken too far but any tool can be used poorly in the hands of a novice.

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#72

Well, after 6 years of professional software engineering after finishing my BS in CS, the only things on that list that I've came anywhere close to using are the natural join and Demorgan's laws. I think this is a pretty silly post, to be honest. CS covers so much, and everytime I see a list of "things you should know", I have to resist the urge to roll my eyes and ignore it. But then I read it, and inevitably roll m…

I think it's important in this situations to not confuse Computer Science with what we, as "software engineers" or "applications developers" or "programmers", do for 99.9% of our day. For most of us, what we do is as much Computer Science as the use of a protractor is geometry.

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#73

Earlier quoted context omitted.

No. Programming is logic , and logic is a superset of math. What you need to make good programs isn't some obscure, arcane language that the few who actually understand it (mathematicians) assert to be the universal answer to everything, yet refuse to make it more accessible (when it could be), what you need is logical thinking and the ability to think in abstractions. Yes, studying math will teach you this, because…

Why do you claim logic is a superset of math? My understanding of Gödel's incompleteness theorems is they show you can't reduce arithmetic to a consistent & complete logic.

Well Godel had to use Logic to prove this. I guess what he meant is logic allows mathematicians to talk about mathematics at a meta level. I wouldn't say a superset of Math since it's still very much mathematics.

http://en.wikipedia.org/wiki/Metamathematics

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#74
post #71

Earlier quoted context omitted.

A more recent example I've come across are n-dimensional spaces. I realized that most people have problems to make sense of the concept behind that because they've been stuck in thinking mathematically. I think of points in an n-dimensional space as objects holding n different types of information, which is a practical approach, and has lit a candle for some other people I explained it to this way as well. For exampl…

The way you think of it is precisely the mathematical way of thinking about n-dimensions. Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others. Mathematics is just careful abstraction. If you are abstracting away certain aspects of your problem and carefully making deductions abou…

>Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others.

See, that's exactly what I'm talking about. This gibberish makes sense to no one except a mathematician. The explanation I've given - while maybe the same in essence - conveys the meaning in a comprehensible way that's not completely removed from reality.

My point is that mathematicians often do neither realize that they are talking gibberish that makes no sense to anyone but themselves nor do they accept that math without proper context is devoid of any meaning (outside of math, that is).

NOTE: I would like to clear up that I'm not attacking math itself. I neither think math for math's sake is bad, nor do I think math is useless. I respect math as a self-contained field. The problems I'm pointing out are all happening where there is application within other fields - such as CS.

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#75
post #45

Bayes Theorem isn't totally at the heart of Bayesian v non-Bayesian statistics. Bayes Theorem can still be true if you're in a strictly frequentist framework.

Bayes Theorem can still be true if you're in a strictly frequentist framework. Can?? When is it not true? It's a theorem, after all.

Nitpick much?

I meant more along the lines of when the assumptions aren't met, e.g. P(B) == 0.

Or, where unitarity in physics isn't met:

http://en.wikipedia.org/wiki/Unitarity_(physics)

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#76
post #70

Earlier quoted context omitted.

A more recent example I've come across are n-dimensional spaces. I realized that most people have problems to make sense of the concept behind that because they've been stuck in thinking mathematically. I think of points in an n-dimensional space as objects holding n different types of information, which is a practical approach, and has lit a candle for some other people I explained it to this way as well. For exampl…

That's totally the standard way that all mathematicians think about n-dimensional spaces. I've never heard a mathematician claim math is the universal solution to all problems... sounds like you had a bad high school experience. Do you need a math-hug? :)

>sounds like you had a bad high school experience.

Not exactly high school. I'm a university student in Germany.

But yes, it's pretty much a bad experience. I've seen quite a lot of other students which are otherwise bright persons struggle with math simply because they aren't good at learning to interpret arcane sequences of symbols which pretty much represent nothing relevant to reality. Math the way it is taught here is essentially useless for 95% of all CS students.

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#77
post #53
post #48

Earlier quoted context omitted.

Huh, that's interesting. I never considered the similarities between parallel processing and people management until today.

http://en.wikipedia.org/wiki/Queueing_theory

Relevant to Amdahl's Law (it being a more general form) and Queueing Theory is : http://en.wikipedia.org/wiki/Neil_Gunther#Universal_Law_of_C...

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#78
post #71

Earlier quoted context omitted.

The way you think of it is precisely the mathematical way of thinking about n-dimensions. Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others. Mathematics is just careful abstraction. If you are abstracting away certain aspects of your problem and carefully making deductions abou…

>Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others. See, that's exactly what I'm talking about. This gibberish makes sense to no one except a mathematician. The explanation I've given - while maybe the same in essence - conveys the meaning in a comprehensible way that's not com…

Thank you! I've had this same feeling for a long time. It strikes me as odd that probably a lot of the same people that would find it unacceptable to write cryptic C code with one-letter variable names, find typical math notation/jargon to be completely fine and legible. If code is so important that we go out of our way to make it comprehensible to future maintainers, why don't we have the same feelings about math? (which I would argue is much more important for people to comprehend, seeing as how it's the core foundation of all of science)

Personally, I'm really into physics, so I've always really wanted to like math so that I could delve deeper into the subject more easily. It's not that I'm terribly bad at it, but most math texts are so obscenely terse and cryptic, that it makes you wonder whether the authors are actually even trying to teach people about what they're talking about...

Re: Equations True Computer Science Geeks Should (at Least Pretend to) Know

#80
post #71

Earlier quoted context omitted.

The way you think of it is precisely the mathematical way of thinking about n-dimensions. Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others. Mathematics is just careful abstraction. If you are abstracting away certain aspects of your problem and carefully making deductions abou…

>Mathematically, an n-dimensional space is R^n, that is, the cross product of the real numbers (R) with itself n times. Each copy of R lets you specify a number independently of all the others. See, that's exactly what I'm talking about. This gibberish makes sense to no one except a mathematician. The explanation I've given - while maybe the same in essence - conveys the meaning in a comprehensible way that's not com…

I certainly agree that an intuitive understanding of a concept can be helpful as a guide and emotionally satisfying. However, I don't think that it is at all sufficient and it is precisely "mathematical gibberish" which resolves the problem.

An isolated concept is worthless. It is only when you are about to apply it by reasoning with it that becomes valuable. The problem with intuitive explanations is that they don't nail down enough details to allow a person to reason with them.

"I think of points in an n-dimensional space as objects holding n different types of information"

Imagine walking into a room and drawing a straight line on the floor. What is the dimension of that line?

Answer = One dimensional. Proof: We can describe each point by one type of information. Point = (Distance of that point from the start of the line.)

Answer = Two dimensional. Proof. We can describe each point by two types of information. Point = (Distance of that point from the East wall, Distance of the point from the North wall.)

Answer = Three dimensional. Proof: We can describe each point by three types of information. Point = (Distance of that point from the East wall, Distance of the point from the North wall, Distance of that point from the roof.)

Answer = Four dimensional....

So by the intuitive explanation we can make this single line any dimension that we want.

This isn't just a problem within mathematics. For a simple programming example:

Question: How does a computer program work?

Intuitive Answer: You give the computer a list of instructions for it to carry out.

Result: The guy opens up notepad and types in "Make a computer game where I walk around shooting Zombies."

Post reply on HN