Hacker News new | ask | show | jobs
by Mehdi2277 3264 days ago
Not the best example. An algorithm that is O(n) is also O(n^3). If you want a tight bound you should use big theta.

I also think while it might be a bit of an issue for undergrad, by grad school at latest for math at least you should be able to tell the difference between a correct proof and incorrect proof most of the time. Usually I'd expect it after your first/second proof heavy math class (analysis/algebra/etc). Usually when I take math tests I can tell pretty precisely what grade I'll get as I know when I'm writing a proper proof or if I'm just writing for the sake of having some progress. Admittingly, my math interests are biased towards proofs/logic and I've spent time writing proofs in coq.

1 comments

You're a better mathematician than I am. My experience passing mathematics exams involves a lot of "Ugh I know how this works in principle! Why doesn't it work when I apply it!? #@$%$#%!" I remember one time I was studying Newton's Method and got 5 different results for the same problem. It looked like I was applying the algorithm correctly in all of them, but the algo is very sensitive to small errors in arithmetic.

Hell, even for knowledge based tests, especially oral, I had this problem.

"How does CPU pipeline work?", prof "blahblahblah", swiz "Lol you have no idea what you're talking about" "Argh but that's what your book says!" "Nu-uh. Look, here" "Ugghhh I changed one little word!" "Yeah but that changes the meaning and now your explanation is wrong" "#@$@#%%!@#"

You know, little details I'd never realize on my own are wrong because I was 80% correct and that sounds correct enough, you can look up details when you need them. But prof is looking for 99.999% correct.

I did not graduate, as you can imagine. But I did get straight A's in coding-based classes. :)

Math is one place where I think it tends to be nice to be pedantic as you are starting to learn a topic. Generally, when I'm unsure of something proof wise it tells me I should re-read all the relevant definitions from that section/chapter. I also generally make it a goal that most important theorems are things I should be able to prove from scratch. Partly because if I can follow the proof well, then I'm less likely to misapply it. Lastly, I like how math has a heavy focus on building upon prior math so I try to review topics from previously taken classes often. I feel that cs classes are much less connected.