Live data from Hacker News

CS 168: The Modern Algorithmic Toolbox

web.stanford.edu

31–40 of 101 posts

Re: CS 168: The Modern Algorithmic Toolbox

#31
post #27
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…

Guessing from the number (168), probably second year? So not too basic if that's what you're implying

Ok, for a second-year course that's pretty impressive. I don't know why, I was expecting a postgrad-level course

Re: CS 168: The Modern Algorithmic Toolbox

#32
post #30

Earlier quoted context omitted.

> I was thinking that the vast majority of those topics should be pretty much standard knowledge for a mathematically trained computer scientist Well yes, this is literally that mathematical training.

yeah, I guess I was expecting postgrad-level stuff on things that are curious to people who finished a CS education

We like to keep abreast of undergrad classes here, it's useful for knowing what incoming software engineers have been learning as well as to fill any gaps in our own education.

Re: CS 168: The Modern Algorithmic Toolbox

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

Re: CS 168: The Modern Algorithmic Toolbox

#34

> tHE TRue vAlue Of cOlleGE Is THE NEtwork NOT ThE COurSeS Well clearly people haven't been taking courses as cool as this.

To answer your strawman, nah for me I got zero network from "college" but I enjoyed the education. Financially the biggest benefit is not getting rejected from jobs that require it.

I got zeroes from both network and education. Either of them was boring. But my counter-strike and virus-writing skills bloomed!

Re: CS 168: The Modern Algorithmic Toolbox

#35
post #30

Earlier quoted context omitted.

yeah, I guess I was expecting postgrad-level stuff on things that are curious to people who finished a CS education

We like to keep abreast of undergrad classes here, it's useful for knowing what incoming software engineers have been learning as well as to fill any gaps in our own education.

fair enough. also useful for (both sides of) job interviews, I guess. do you keep up to date about relevant research as well? I see a lot of Stable Diffusion posts, but that's arguably not because of the paper but because the published model is hackable. I guess keeping abreast of the papers leading up to Stable Diffusion would have been more important if you wanted to be the entrepreneur who created the tool?

Re: CS 168: The Modern Algorithmic Toolbox

#36
post #3

> Zero hits for "hardware". Are there algorithm courses that take into account how hardware affects algorithms? For example with databases, you have implement theoretically inefficient algorithms which are faster in practice (mostly because they use sequential access).

The problem with accounting for hardware, is which hardware do you account for? If you really want to get into the performance optimization weeds you end up relying on e.g. specific characteristics of a vendor's CPU. The Mechanical Sympathy blog had posts that do this, and the problem with this is it doesn't generalize. Hardware changes (e.g. SSDs have different performance characteristics compared to spinning disks)…

Rather than insisting on things that generalize with no additional work, it may be useful to use a certain modern architecture as a target for learning techniques and then rely on the wetware to generalize.

Re: CS 168: The Modern Algorithmic Toolbox

#38
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.

try a side project? when I think of fun ideas, I always notice how easy it is to bump into computationally hard or complicated stats/ML/math problems left and right, even if it's just a simple game.

I remember one time when I realized this: a TV show character suggested building an app that lets you take a picture of someone's shoes and then give you links where you could buy them. It sounded a) like a pretty good business idea and b) crazy hard to build (the time the show aired was before the Deep Learning proliferation iirc).

Re: CS 168: The Modern Algorithmic Toolbox

#40
post #3

> Zero hits for "hardware". Are there algorithm courses that take into account how hardware affects algorithms? For example with databases, you have implement theoretically inefficient algorithms which are faster in practice (mostly because they use sequential access).

This Advanced Data Structure course [1] which, while not accounting for any particular hardware, had some interesting "cache-oblivious" algorithms (i.e. designed to make the best use of your cache no matter the cache sizes.) Is that the type of work you are thinking about?

[1] https://courses.csail.mit.edu/6.851/fall17/lectures/

Post reply on HN