Live data from Hacker News

CS 168: The Modern Algorithmic Toolbox

web.stanford.edu

71–80 of 101 posts

Re: CS 168: The Modern Algorithmic Toolbox

#71
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…

> I was thinking that the vast majority of those topics should be pretty much standard knowledge for a mathematically trained computer scientist

spoilers: this course is intended to mathematically train computer scientists.

Re: CS 168: The Modern Algorithmic Toolbox

#72
I'm not someone that graduated college, but do my best to study independently.

I'm somewhat familiar with all of the topics (except privacy preservation), but I'm a bit surprised to see these all lumped together. They're all certainly useful, but they seem some what sparsely related.

Can someone tie together

- Probabilistic data structures & hashing

- PCA/SVD/Sampling/Compressed Sensing

- Privacy preservation

for me? They seem like they should be three independent courses.

For anyone interested in the PCA/SVD/Compressed Sensing - Steve Brunton[0] (prof at UW) has a youtube channel full of various lectures from vector calculus, pca, svd, dynamical systems, and more

[0] https://www.youtube.com/c/Eigensteve

Re: CS 168: The Modern Algorithmic Toolbox

#73
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…

Here’s one explanation of Consistent Hashing by a popular author that just started a systems design YouTube channel: https://m.youtube.com/watch?v=UF9Iqmg94tk

I love this channel, I've been watching their videos for a few weeks. The guy has a great ability to break things down and explain complex topics with ease.

Re: CS 168: The Modern Algorithmic Toolbox

#74
post #15

Earlier quoted context omitted.

...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…

0. Why so anti-intellectual? 1. The algorithm you're attempting to describe in 1) above is either exactly PageRank or an approximation to it, so I don't get the point you're trying to make. 2. The point of jargon and well studied algorithms is that you can recognize when your problem is a problem someone else has already tackled. In the specific case of PageRank, if you recognise it's an eigenvalue problem you can 1)…

> 0. Why so anti-intellectual?

I'm not the person you're responding to, and perhaps it was their tone more than their content that you're replying to, but...

I think there's a lot of value in a KISS philosophy, and using the simplest most accessible algorithms possible. I don't think that's anti-intellectual so much as minimalist. Less charitably, one could say that reaching for something more complex than is needed is navel gazing or gate keeping.

I'm far from an expert on the topic, so I'm not trying to assert if either of you is more correct than the other as far as what the more appropriate model is.

Re: CS 168: The Modern Algorithmic Toolbox

#75

In the lecture note 6 about regularization, section 3.4: the l1 norm of a vector is simply the sum of the absolute values of the coordinates, and hence it is continuous (and linear). I don't think that the l1 norm is linear since |x+y| # |x| + |y|.

True. Norms are never linear since they cannot be negative.

Re: CS 168: The Modern Algorithmic Toolbox

#76

Earlier quoted context omitted.

Here’s one explanation of Consistent Hashing by a popular author that just started a systems design YouTube channel: https://m.youtube.com/watch?v=UF9Iqmg94tk

I love this channel, I've been watching their videos for a few weeks. The guy has a great ability to break things down and explain complex topics with ease.

I'm often fascinated by the fact that, 80% of mentors failed at simplifying in their explanation of concepts.

Re: CS 168: The Modern Algorithmic Toolbox

#78
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'm not into mathematics or algorithms and the like at all, but if someone explains things like PageRank in layman's terms, I'm like, "yeah I get that". That's been the recurring theme with me and mathematics, if it's just the theory, language and formulas I'm like "what?", but give me a practical example / use case, a way to visualize it, and I get it. I struggled with linear algebra in school - I don't even know why it's called that, and I can't explain it in proper terms - but if it would be called "the math of video games" then it instantly becomes a lot more accessible and visualizable (to me).

Anyway. I think I've intuited plenty of CS algorithms in my career, but don't ask me to explain the theory.

Re: CS 168: The Modern Algorithmic Toolbox

#79
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 think this is the reality for the majority of software developers, although it's not to be underestimated because it's not just a one-off button, it ends up being dozens, hundreds of "simple" things like that. Keeping all of them up to date and consistent is where the challenge is in that regard, and not many people manage - in my experience, a lot of systems as you describe them are rewritten every 5-10 years.

Re: CS 168: The Modern Algorithmic Toolbox

#80

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.

Its a class for undergrads. Nothing can ever be explored in its full depth. If people want to spend an entire semester on a single problem they should take a grad course.

Undergrads deserve rigor too.

The course description is especially ironic as it claims rigor.

> This course will provide a rigorous and hands-on introduction to the central ideas and algorithms that constitute the core of the modern algorithms toolkit.

The result, of course, will be a bunch of undergrads with a very hazy recollection, and zero real knowledge.

Post reply on HN