7 ms·
> (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 ach
by t_mann 4y ago
> (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 Search. (Dis)similarity metrics: Jaccard, Euclidean, Lp....
- Regularization. The polynomial embedding and random projection, L2 regularization, and L1 regularization as a computationally tractable surrogate for L0 regularization.
- Understanding Principal Component Analysis (PCA). ... The simple geometry of "diagonals in disguise." The power iteration algorithm.
- Low-rank matrix approximations. The singular value decomposition (SVD), applications to matrix compression, de-noising, and matrix completion (i.e. recovering missing entries).
- Graphs as matrices and the Laplacian of a graph. Interpretations of the largest and smallest eigenvectors/eigenvalues of the Laplacian. Spectral embeddings. Interpretations of the second eigenvalue
- Markov Chains, stationary distributions. Markov Chain Monte Carlo (MCMC)
- Fourier methods
- Compressive sensing
- Linear and convex programming. Matrix completion
- Differential privacy
I was thinking that the vast majority of those topics should be pretty much standard knowledge for a mathematically trained computer scientist (not being an expert in each of them, but knowing the basics of what they do, how they work and where they're applied). What level is this course at?
- v3gas 4y agoGuessing from the number (168), probably second year? So not too basic if that's what you're implying
- t_mann 4y agoOk, for a second-year course that's pretty impressive. I don't know why, I was expecting a postgrad-level course
- shuckles 4y agoThe Stanford CS curriculum only distinguishes on the first digit: 1XX for undergrads and 2XX and above for graduate students. (Undergrads often take one or more graduate courses as they progress.) Most taking this course are advanced 2nd year or 3rd or 4th year students who have taken the introduction to algorithms course. Most/many CS majors never take this class at all.
- haskellandchill 4y ago> 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.
- t_mann 4y agoyeah, I guess I was expecting postgrad-level stuff on things that are curious to people who finished a CS education
- haskellandchill 4y agoWe 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.
- t_mann 4y agofair 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?
- djur 4y agoI doubt even a bare majority of HN readers have finished a CS education.
- haskellandchill 4y agoAn informal CS education counts.
- benreesman 4y agoNo 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.pdf 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 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.
- t_mann 4y agofully 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
- melling 4y agoAll 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.
- UncleMeat 4y agoAt Stanford, 100 level courses are intended for undergraduates while 200 level courses are intended for mixed undergrad/grad. 100 doesn't necessarily indicate freshman/sophomore.
- UmbertoNoEco 4y agothey are not; this is classic hn posturing at the veryleast this would belong to a second or third class of algorithms for ug( after the usual meat and potatoes: big,small o notation, searching and sorting, dp, greedy algorithms and so on) depending on the difficulty of the assignments this could be easily a graduate course remember that no matter how difficult, obscure or new a technical field is you will have people here claiming they took a class about it as a freshman 10 years ago and they wrote some papers about it. sometimes it may be true, but most of the time it isnt
- Hermitian 4y agoThe course description states that this is intended for senior as a capstone course, hopefully that help clarifies.
- gsinclair 4y agoI am a mathematically trained computer scientist (by qualification, not by current practice) who has kept up an interest in both fields for many many years, and I don’t know most of the stuff in that list. I’ll happily accept that I’m just not all that good, but I offer myself as evidence that there might be a market for this course ;)
- Cthulhu_ 4y ago> 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.