Live data from Hacker News

CS 168: The Modern Algorithmic Toolbox

web.stanford.edu

41–50 of 101 posts

Re: CS 168: The Modern Algorithmic Toolbox

#41

How can you cover such a huge and diverse amount of material with any level of rigor? I view this type of courses as pointless. There's not enough time to cover any problems or pitfalls.

Do you have any one particular topic in mind you think isn't covered rigorously enough? If so, what's missing from it? That way someone can use "is that covered" as a heuristic for evaluating other resources in the future.

Re: CS 168: The Modern Algorithmic Toolbox

#43
post #25
post #5

Very neat. They write: > In this course, we’ll be looking for the following trifecta: (i) ideas that are non-obvious, even to the well-trained computer scientist, so that we’re not wasting your time; (ii) conceptually simple — realistically, these are the only ideas that you might remember a year or more from now, when you’re a start-up founder, senior software engineer, PhD student, etc. (iii) fundamental, meaning t…

> (i) ideas that are non-obvious , even to the well-trained computer scientist > In the first lesson, they discuss consistent hashing, and they seem to have achieved their goals. I was really excited when I read your comment here before clicking the link, but having had a look at the rest of the curriculum, I'm slightly underwhelmed. - Generalization ... Empirical risk minimization. - lossy compression - Similarity S…

No disrespect to the parent, but I would strongly discourage any aspiring computer scientist or software engineer from concluding that the above list of topics is in any way remedial or “lower division”.

Google exists in no small part because just over 20 years ago people who could also code and raise money connected just a few of the dots on the deep themes connecting those topics: https://www.rose-hulman.edu/~bryan/googleFinalVersionFixed.p...

Just over a decade ago Netflix paid out a million bucks (that was real money then) for a modest improvement over their existing recommender based on an SVD-like gradient descent for a low-rank approximate factorization: https://en.m.wikipedia.org/wiki/Netflix_Prize. Many of the competing teams had exemplary academic and industrial pedigree.

Many (if not most) ML practitioners would profit from thinking more about the information-theoretic links between lossy compression, regularization via norm, and channel capacity to this day.

If I correctly gather that this is a syllabus for elite undergraduates, they’ll be grading on a curve.

Re: CS 168: The Modern Algorithmic Toolbox

#45
post #25
post #5

Very neat. They write: > In this course, we’ll be looking for the following trifecta: (i) ideas that are non-obvious, even to the well-trained computer scientist, so that we’re not wasting your time; (ii) conceptually simple — realistically, these are the only ideas that you might remember a year or more from now, when you’re a start-up founder, senior software engineer, PhD student, etc. (iii) fundamental, meaning t…

> (i) ideas that are non-obvious , even to the well-trained computer scientist > In the first lesson, they discuss consistent hashing, and they seem to have achieved their goals. I was really excited when I read your comment here before clicking the link, but having had a look at the rest of the curriculum, I'm slightly underwhelmed. - Generalization ... Empirical risk minimization. - lossy compression - Similarity S…

All those topics are unimpressive? I’ve spent quite a bit of time trying to teach myself them.

I’ve seen several Stanford courses (e.g CS229) so the low course number of 168 would seem to indicate that it’s taken within the first couple years of college.

Re: CS 168: The Modern Algorithmic Toolbox

#46
post #25

Earlier quoted context omitted.

> (i) ideas that are non-obvious , even to the well-trained computer scientist > In the first lesson, they discuss consistent hashing, and they seem to have achieved their goals. I was really excited when I read your comment here before clicking the link, but having had a look at the rest of the curriculum, I'm slightly underwhelmed. - Generalization ... Empirical risk minimization. - lossy compression - Similarity S…

No disrespect to the parent, but I would strongly discourage any aspiring computer scientist or software engineer from concluding that the above list of topics is in any way remedial or “lower division”. Google exists in no small part because just over 20 years ago people who could also code and raise money connected just a few of the dots on the deep themes connecting those topics: https://www.rose-hulman.edu/~bryan…

fully agree. I remember at one point I studied the Perron-Frobenius theorem because I was analyzing a problem in a different domain but mathematically not completely dissimilar to PageRank, and it was crazy to think that a trillion-dollar company had come out of that bit of math.

> Many (if not most) ML practitioners would profit from thinking more about the information-theoretic links between lossy compression, regularization via norm, and channel capacity to this day.

yes. don't forget compressed sensing there too

Re: CS 168: The Modern Algorithmic Toolbox

#48
post #33

It would be cool to be an expert at algorithms, apply them to hard problems, and build cool things. I feel like, for me, there's no point in learning them since the work I get is always "put a button here, update the DB" type stuff.

I have been able to do some algorithmic work in my 4 decades (mostly lately for generative art) but most of my career was How So I Ship This Complicated App With Too Few People In So Little Time. This usually requires creative thinking and experience, but rarely requires advanced knowledge of many of the topics mentioned. I never had a CS education so I had to learn things myself, but it still makes sense to me today to understand complex topics; even if you never use them, being able to understand such things is a benefit to the complex things you will have to do.

Re: CS 168: The Modern Algorithmic Toolbox

#49
post #15

Earlier quoted context omitted.

Here's an example: The web is a graph. Each node in the graph is a web page. Each edge is a connection a hyperlink between pages. You can represent a graph as a matrix. If you random click on links you'll end up visiting some web pages (the more connected ones) more often than others. You can define a probability distribution over pages as "what is the probability I'll end up at this web page after an infinite number…

...or, you could just 1) use the raw count of inbound links, weighted by the count of inbound links of the linking pages, normalize by the total number of links on that page, and run it a few iterations to get a first approximation of the probability distribution. This is a pretty intuitive approach, would almost certainly have been good enough for Google, and avoids all the jargon, probability, and "well studied alg…

I think it's pretty easy to construct adversarial examples to your (1) that are dealt with cleanly by real pagerank.

e.g. if A is a Huge Important website, and A -> B -> C, then locally looking at {B, C} will underweight C significantly. (And, sure, you might say to look at k-th order inbound links for your iterative approach, but the adversary can just move the weight to k+1).

Perhaps, as you claim, your approach would have been good enough, but clearly understanding the theory got them something better.

Re: CS 168: The Modern Algorithmic Toolbox

#50
This is "mostly" maths for "big data" (aka statistical efficiency over huge set of data or "qsort-ized" algos) but kind of taught the wrong way: first you learn maths, then you code algos based on current hardware architecture.

I had a doubt when I did realize I could not find one of the most important topics of computer science: proof of accuracy of floating point computations.

I see this more like an index of a library of various algorithms, and that, I think it's good.

Post reply on HN