15 ms·
Advanced Computer Science Courses
- crasshopper 15y agoA list of links, any of which is easily googleable. Why do people upvote these so predictably?
- helwr 15y agoyou need to know what to search for
- crasshopper 15y agoI don't think that's why. I think it's typical linkbait. Anyone who is serious about learning will follow the obvious trails of references in papers they read, course listings and book requirements for those courses at university websites, Wikipedia links, and so on. Anybody who found HN can find CS courses.
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- helwr 15y agoIf you'd look closely these resources are grouped around a single topic, and carefully selected by an expert in a highly specialized field. It saves me, personally, a ton of time reading marginal papers and browsing through a clusterfuck of references.
- crasshopper 15y agoI did look closely at this list. I commented because it's such a typical example of unearned upvote candy. I could have assembled this list (as a non-computer scientist) in less than an hour just by looking at the usual places I look for lecture notes and following the typical linkbait-maker advice of leaving a brief comment and headings. The author admits s/he is still working through the material and the details on each are minimal, so this curator ≠ expert. Nor is the field "highly specialized". arxiv/math.QA is specialised. Welding less-than-1cm aluminium for a particular part in powerboat engines is highly specialised. Computer Science Major is an extremely broad area of study. To me this is exactly a "clusterf_ck of references".
- helwr 15y agoOk, I should have renamed it from the original title given by the author to "Excellent List of Distributed Systems and Relevant CS Courses With Good Lecture Notes, Assembled by a University of Cambridge PhD in Mobile Distributed Systems, Zookeeper Committer and a Glorious Systems Engineer Who Lives and Breathes Distributed Systems at Cloudera" to get less upvotes. Just read the rest of his blog. This is not a trivial list of references that you can compile by googling without thorough understanding of the subject matter, trust me, I've been digging this field for too long [1] Alternatively you can ask hundreds of people who re-tweeted this link[2], bookmarked it on their Delicious [3], or those who study it now, why did they think it was good. Look at their profiles, what percentage of them are dumb link-followers? Or simply try to compile and post a list of courses with the same title and see how many upvotes/retweets/bookmarks it gets and how quickly it disappears from the front page if it gets there in the first place. HN users are largely linkbait-averse, that's what I like about this community. [1] http://www.quora.com/What-are-some-good-resources-for-learning-about-distributed-computing http://www.quora.com/What-are-some-good-resources-for-learni... [2] http://twitter.com/#!/search/realtime/%22advanced%20computer%20science%20courses%22 http://twitter.com/#!/search/realtime/%22advanced%20computer... [3] http://www.delicious.com/url/6c0121386126295cd80dc3da665267ba http://www.delicious.com/url/6c0121386126295cd80dc3da665267b...
- deleted 15y ago[deleted]
- crasshopper 15y agohelwr, I respect the fact that you're intelligently and politely continuing this debate. Maybe it is not worth your time because of my cynical attitude. I have very little respect for Quora, HN, retweets, or bookmarks which are accomplished with a click. If it makes you feel better, something I wrote also reached the front page of HN and received an undue number of upvotes, retweets, and social bookmarks by people who I guarantee have not read even 1% of the works I pointed to -- all because the blog post followed the linkbait formula. I Truly Believe that people bookmark/upvote/retweet things they "intend to read" but never actually read, and that this systematically increases the level of noise masquerading as signal on the web. Having stated that background - some of the response you got on Quora looks fine; the intelligent professors retweet just as sheeply as everyone else since the private cost is $0; and bookmarks signify nothing more than that this story reached the front page of HN. Cheers, thank you for the rational back-and-forth.
- senorres 15y agoWhy does a HS/freshman-level discrete math course count as "advanced"? Same with that undergrad algorithms course at UIUC (though it does have great lecture notes).
- HenryR 15y agoYou're right, it doesn't really. When I started building this list it was more carefully given over to graduate-level courses. It evolved into a bit of a repository of courses that aligned with my interests and thought were good.
- timtadh 15y agoSome of these courses look really interesting. Having just passed my Algorithms Qual it is interesting to see the different ranges of topics covered in equivalent courses.
- ankrgyl 15y agoI'll add a couple of courses I've really enjoyed at CMU (http://www.cs.cmu.edu http://www.cs.cmu.edu): 15-410 Operating System Design and Implementation: http://www.cs.cmu.edu/~410/ http://www.cs.cmu.edu/~410/ 15-251 Great Theoretical Ideas in Computer Science (webpage might be out of date): http://www.andrew.cmu.edu/course/15-251/ http://www.andrew.cmu.edu/course/15-251/
- Darmani 15y agoHa, I'm currently wearing my 251 course staff ("yer sould = pwned") shirt as I type this. The most recent website is contained in https://colormygraph.ugrad.cs.cmu.edu/ https://colormygraph.ugrad.cs.cmu.edu/ . One of the TAs used the course as a testing grounds for his pedagogy research, which has students grading each other (doing "verifications") as part of their assignment, and spent a while building the course infrastructure to support it. (We then grade them on their grading.) After a bit of tweaking (e.g.: we quickly realized the students would primarily benefit from verifying a couple problems rather than all of them), it wound up working really well!
- NY_USA_Hacker 15y agoGee, "15-251 Great Theoretical Ideas in Computer Science" You mean there really are some? I always thought it was the empty set! Okay, I followed the URL to see these wondrous ideas! So, I saw some 'lecture notes' at: http://server251.theory.cs.cmu.edu/twiki/bin/view/Main/ProbabilityTwo http://server251.theory.cs.cmu.edu/twiki/bin/view/Main/Proba... and there saw: "Random Variables We begin with the notion of a finite probability distribution D, which consists of a finite set S of elements, or samples, where each x in S has a weight, or probability, p(x) in [0,1]." Sorry, guys. They blew it. That sentence is without a doubt the most mixed up, confused, uninformed, misinformed, just plain wrong mess I've ever seen in what purports to be some important mathematics. We're talking total upchuck here. Don't read that garbage. (1) "finite probability distribution" Likely what he means is a discrete distribution. (2) "distribution D, which consists of a finite set S of elements, or samples" Total nonsense. A "distribution" does NOT consist "of a finite set". The rest is also nonsense. He wants to discuss random variables but gets off on distributions far too soon. Here is a much better way to proceed: Suppose we perform an experiment and measure some number X. If we do the experiment again, then the number we get for X might be different. We call X a 'real random variable'. For a real number x, we can consider the probability that X <= x. We write this probability as P(X <= x). We also write as the 'cumulative distribution' of X F_X(x) = P(X <= x). [Note: Here F_X borrows from Knuth's TeX notation for F with a subscript X.] If X takes on only finitely many values, then we might say that X and its cumulative distribution F_X are 'discrete'. Here is a still better way to proceed: We have a non-empty set S (usually denoted by capital omega) of 'trials'. Each experiment we perform is one 'trial' and corresponds to some point s in S (usually a trial is denoted by a lower case omega). Given a subset A of S, we call A an 'event'. We have a probability P defined on events. The 'probability' of an event A is written P(A) and is a number in [0,1]. If in our experiment we observe a number, that number is a real random variable; call it X. Then X is a function from the set of trials S to the set of real numbers R. So, X: S --> R. Then for a real number x, there is the event {s | s is in S and X(s) <= x} with shorthand notation {X <= x}. That is, we usually suppress mention of a trial s. Then the probability that X <= x is written F_X(x) = P(X <= x) and is the 'cumulative distribution' of X. For more details, we ask that the set of all events includes S and is closed under complements and countable unions. Usually the set of all events is denoted by script upper case F. And we ask that for disjoints events A(i), i = 1, 2, ..., the probability of the union of the A(i) is the sum of P(A(i)). That is, we ask that P be 'countably additive'. Suppose X is a real random variable with cumulative distribution F_X, and suppose for some positive integer n and i = 1, 2, ..., n Y(i) is a real random variable. Suppose the set {Y(i) | i = 1, 2, ..., n} is independent. And suppose for each i, the cumulative distribution of Y(i) is F_X. Then we can regard {Y(i) | i = 1, 2, ..., n} as a 'sample' of size n from cumulative distribution F_X. Full details are in each of: M. Loève, 'Probability Theory, I and II, 4th Edition', Springer-Verlag, New York. Jacques Neveu, 'Mathematical Foundations of the Calculus of Probability', Holden-Day, San Francisco. Leo Breiman, 'Probability', ISBN 0-89871-296-3, SIAM, Philadelphia. Kai Lai Chung, 'A Course in Probability Theory, Second Edition', ISBN 0-12-174650-X, Academic Press, New York. Loève was long at Berkeley, and Neveu and Breiman were among his students. Neveu has long been in Paris, and Breiman has long been at Berkeley. Chung has long been at Stanford. Other experts in such math include Avellaneda at Courant, Bertsekas at MIT, Çinlar at Princeton, Dynkin at Cornell, Karatzas at Columbia, Karr at UNC, Shiryaev at Moscow, Shreve at CMU, Wierman at Johns Hopkins, among others. This disaster illustrates an important lesson: Computer science is out of gas, that is, doesn't know what to do next. It really has only one promising way out now, and that way is to 'mathematize' the field. So, the progress needs to be essentially applied math. For this progress, computer science needs to know some appropriate math. Basically each person trying to do such work needs a good undergraduate major in pure math together with some selected graduate work in pure and applied math. However, only a tiny fraction of professors of computer science have these prerequisites. Thus their work that needs math is often upchuck as in the example here although usually not quite this bad. Net, anyone who wants to make progress in computer science should f'get about current academic computer science, study math, and then attack problems in computing as an applied mathematician. Bluntly, the alternative is just upchuck as here. Sorry 'bout that. Any student trying to learn some topics in math in a computer science department is likely wasting time and money and filling in much needed gaps in his knowledge. To learn math, go to a math department. To learn probability, start with one of the books and/or professors above or equivalents.
- sdghrthrt 15y agoONLINE STORE : ===( http://www.etradinglife.com http://www.etradinglife.com )===== The website wholesale for many kinds of fashion shoes, like the nike,jordan,prada,, also including the jeans,shirts,bags,hat and the decorations. All the products are free shipping, and the the price is competitive, and also can accept the paypal payment.,after the payment, can ship within short time. free shipping competitive price any size available accept the paypal jordan shoes $32 nike shox $32 Christan Audigier bikini $23 Ed Hardy Bikini $23 Smful short_t-shirt_woman $15 ed hardy short_tank_woman $16 Sandal $32 christian louboutin $80 Sunglass $15 COACH_Necklace $27 handbag $33 AF tank woman $17 puma slipper woman $30 ===( http://www.etradinglife.com http://www.etradinglife.com )=====
- shii 15y agoThis[1] is much more comprehensive and useful, imo. Compiled by the good folk from 4chan's /sci/ board. [1]: https://sites.google.com/site/scienceandmathguide/ https://sites.google.com/site/scienceandmathguide/
- deleted 15y ago[deleted]
- Killah911 15y agoM'eh, I think that's more comparing Apples to Oranges. I really like this list. It's a bit more academic, and like someone else here said, it's a great resource for those who have a weakness in one subject they'd like to tighten up, or just learn more about what's on the frontier or CS classes these days. The 4chan one seems more like a how-to guide. Just my 2 cents :)
- phaedon 15y agoMIT's OpenCourseWare is a fantastic project. It's been a while since I was involved with it, but I contacted them a few years ago and helped TeX up some of the notes (for Physics courses, not CS). Anyhow, if you feel inspired or just want to learn a subject even better by reading its notes carefully enough to typeset them, consider contacting OCW and asking if they've got anything available. It's a good experience and it's nice to think about how many people benefit from it.
- Darmani 15y agoOne course I've been going through lately is the MIT course on Abstract Interpretation ( http://web.mit.edu/16.399/www/ http://web.mit.edu/16.399/www/ ). Programmers tend to break execution into "cases" to reason about it; e.g.: when writing a routine to reverse a string, you might think about the cases where the string is of even or odd length. Abstract Interpretation lets you capture this kind of reasoning precisely, and thereby automate it.
- Xurinos 15y agoThank you for this reference. I was curious if there was some formal work on this subject. This was one of the holes in my studies.
- silentbicycle 15y agoOlin Shivers's "Control-Flow Analysis of Higher-Order Languages" (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.3971 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.39...) is all about using abstract interpretation for compiler analysis. It's focused on Scheme, but is applicable to higher-order languages in general. It's also noteworthy as part of Yale's T / Scheme current (http://paulgraham.com/thist.html http://paulgraham.com/thist.html), which produced a lot of other great stuff: "Orbit" (http://repository.readscheme.org/ftp/papers/orbit-thesis.pdf http://repository.readscheme.org/ftp/papers/orbit-thesis.pdf), "A Tractable Scheme Implementation" (http://repository.readscheme.org/ftp/papers/vlisp-lasc/scheme48.pdf http://repository.readscheme.org/ftp/papers/vlisp-lasc/schem...) and Scheme48 (http://s48.org http://s48.org). For starters!
- pravinkenator 15y agoThanks for the info ..!
- BIackSwan 15y agoI had taken Jon Kleinberg’s CS 6850 – Structure of Information Networks. (http://www.cs.cornell.edu/courses/cs6850/2011sp/ http://www.cs.cornell.edu/courses/cs6850/2011sp/) Really brilliant course and very pertinent to interpreting and making sense of today’s connected world.
- ataranto 15y agoI'm confused, not a single one of these courses covers Ruby?
- deleted 15y ago[deleted]
- helwr 15y agohttp://news.ycombinator.com/item?id=2403202 http://news.ycombinator.com/item?id=2403202
- sthatipamala 15y agoIt's a list of courses in computer science, not computer programming.
- bhickey 15y agoOptimization Algorithms for Planar Graphs: http://www.cs.brown.edu/courses/cs250/lectures/lectures.html http://www.cs.brown.edu/courses/cs250/lectures/lectures.html
- hsmyers 15y agoNice, but seems to me that a thorough study of Knuth V-1-4 plus computational Mathematics might be a better approach. Then cherry pick the offered list.