When you start applying real numbers to n, using O() doesn't make sense. When comparing the two in a slightly practical sense, the constant factor has to be taken into account.
You do not understand correctly. Compare the ratio of the quadratic f(n) = 1E100 + n2 to the linear g(n) = 1E100 + n. Using n=100 and n=1000 the ratio is effectively 1.0. You need to get to n=100000000000000000000000000000000000000000000000000 before the ratio is 2.
I see your point - we can compare the powers that n is raised to, but without knowing the constant factor we can't know the proportion of the result that it is responsible for.
Except that this algorithm can't be used for anything as small as n = 100. Essentially the analysis is asymptotic, meaning that you have matrices of dimension n = q^N and let N tend towards infinity to get your bound on omega.
It would be interesting if Stanford suggested some path through these courses.
I'm in the middle of AI class (loving it), and I wonder what the overlap is with the PGM or game theory classes - would they have been better to have done first (given a time machine)?
And I wonder, how much more than the probability I've picked up from the ai-class is required as a prerequisite for the infotheory class?
I've sat in on the GT lectures at Stanford and I would definitely make sure I had a solid background in logic and statistics. Other than that, you can start from scratch there.
I am taking AI and ML. I would like to take game theory or pgm. But, I think I will start with analysis and design of algorithms. In my mind that should help me take the other classes later on. What do other people think?
Algorithms are core CS and I would definitely recommend taking them prior to other courses. The best way to know what to take first is to take a look at course prerequisites and the program tracks:
I don't think literate programming is obsolete, nor has it been superseded by "modern source code documentation".
LP means treating a program as a piece of literature. A literate program is free from the structure of conventional source code layout; this is different to simply documenting source code.
I don't claim LP is a hot topic, but I think to say it's obsolete is to misunderstand the concept.
Yes, 3+ hours sounds incorrect. Also, it's not like KDE builds in 15 minutes either. I don't see how a long build time makes the project immature, feel free to suggest the connection.
Fair call. I intended to say the same thing with my comment, but I should have been clearer (rather than appearing to encourage a flame war). Sorry 'bout that.
Depending on the goals of the learner, something with immediate visual feedback is nice. Logo/turtle graphics or Smalltalk would be good for this.
While you're not going to write my-first-blog in Logo, it's something my 5 year old can get her head around. And it's the thin edge of the lisp wedge :)
Agreed. Warren Wilkinson had an idea for a simple Lisp wrapper to SDL for this purpose (http://formlis.wordpress.com/2011/01/22/teaching-children-pr...). But it needs to be something even simpler, "Logo easy." HTML5 Canvas is actually a good system for this IMO.
I feel sad for anyone who refers to emacs and vim as dinosaurs. I feel sadder for anyone unfamiliar with emacs and vim dismissing because they're old tools, and missing out.