5 ms·
Advanced Data Structures MIT
Videos and lectures notes on the advanced data structures course (spring '12; graduate course) at MIT.
Prof. Erik Demaine (youngest MIT professor ever) is one of the most respected researchers in the field.
Topics include: persistent data structures, dynamic graphs, succinct d.s., dynamic optimality, geometry, integers, memory hierarchy, hashing and strings.
Lectures are twice a week (tue, thurs), videos uploaded on the same day.
- JOnAgain 15y agoWhat's the message here? Is this course going to be online? or is just a CS course page from MIT?
- splatterdash 15y agoThe course seems to be online. Here's the page containing video links: http://courses.csail.mit.edu/6.851/spring12/lectures/ http://courses.csail.mit.edu/6.851/spring12/lectures/
- Varun06 15y agoTime to refresh data structure and learn some new things...I can see that they have a link for video there...
- karamazov 15y agoThis looks like it's going to be a great course, Prof. Demaine is an excellent lecturer.
- MaxGabriel 15y agoHis energy is just outstanding
- perfunctory 15y agoThis is great! Only one video seems to be available at the moment. Are other videos going to be released at some point?
- gammarator 15y agoImpressive: the video syncs with the lecture notes: http://courses.csail.mit.edu/6.851/spring12/lectures/L01.html http://courses.csail.mit.edu/6.851/spring12/lectures/L01.htm...
- psykotic 15y agoHe wrote that code for his earlier course on geometric folding algorithms: http://courses.csail.mit.edu/6.849/fall10/lectures/ http://courses.csail.mit.edu/6.849/fall10/lectures/ You'd enjoy it if you are into computational geometry.
- jacobolus 15y agoLecture notes from 2010: http://courses.csail.mit.edu/6.851/spring10/lec.html http://courses.csail.mit.edu/6.851/spring10/lec.html
- willhunting 15y agoHope they keep it up to date, looks great!
- miggaiowski 15y agoThis is awesome. I've asked professors at my university to have this class, but didn't happen. Couldn't be better to have Erik Demaine teaching it. The video has a great quality and the synced lecture notes are indeed impressive.
- pork 15y agoErik Demaine has some of the nicest algorithms lectures, and I would compare him to Gilbert Strang teaching linear algebra. EDIT: and closer to here, cpercival talking about cryptography and security, or tptacek when he's not grumpy and actually writes an informative, detailed comment.
- deleted 15y ago[deleted]
- javadyan 15y agoSo, can "outsiders" like myself submit solved problemsets for grading?
- karamazov 15y agoNo - this isn't an online class, it's an MIT course for which video lectures are being posted online.
- nsomething 15y agoMust be typeset in LaTeX? That seems ridiculous.
- bzbarsky 15y agoDepending on how many students you have and how many graders, it may be a choice of that or arbitrary "if I can't read your handwriting, you get a 0" requirements. As a separate note, some people think that classes should teach more than just the narrow subject material, and a knowledge of LaTeX is somewhat useful for someone who plans to actually publish CS research.
- karamazov 15y agoTypesetting in LaTeX is a pretty common at MIT - for example, all majors have a technical communication requirement, and most courses that satisfy that requirement stipulate that problem sets be handed in in TeX. It's also not that difficult - TeX is easy to learn - and a helpful thing to be able to do if you plan to publish research.
- cadr 15y agoI don't remember what course I took for that (6-2), but I'm pretty sure I didn't have to use TeX.
- ricksta 15y agoare there any other classes like these with video made recently?
- mcn 15y agoThe MIT 2005 Introduction to Algorithms course is available. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/ http://ocw.mit.edu/courses/electrical-engineering-and-comput...
- dhruvbird 15y agoVIDEO LECTURESSSSS!!!!!!!!!!!!!!!!!!!!!!!!!! http://courses.csail.mit.edu/6.851/spring12/lectures/L01.html http://courses.csail.mit.edu/6.851/spring12/lectures/L01.htm...
- dhruvbird 15y agoThat's just sheer excitement!!
- mprat 15y agoThis isn't an online class at MIT - it is just a course webpage for a class that is offered at MIT this term.
- jshen 15y agoWith videos of the lectures.
- zvrba 15y agoToo bad that you can't easily judge upfront which of those data structures and algorithms are really usable in practice. For example, fusion trees may seem like a cool idea, but they're totally impractical, as also admitted by the authors (Fredman and Willard) in their original paper.
- gritzko 15y agoI don't really understand the point of fusion trees. log log N is a constant from the practical perspective. So, O(logN/loglogN) is simply O(logN). What was the point?
- zvrba 15y agoThe point is that O(log N/log log N) is not O(log N): they have broken the informatic-theoretic bound of O(log N) in linear space using "ordinary" operations. (Previous such works used exotic machine models that had little to do with how modern CPUs actually operate.) Even for N=2^16, you could (in theory) get a 4-fold speedup.
- gritzko 15y agoAha... and for 2^32 I'll have 5-fold speedup. 6-fold for 2^64 entries, obviously. Frankly, those small-linear-factor improvements tend to be overshadowed by other factors (i.e. whether you hit the cache). I mean, they make sense as an optimization once everything is in place and works correctly. But, designing something ground up to have a small-constant-factor speedup... that reminds me one physics trick. Namely, that by standing next to an infinite wall and by turning a laser pointer fast you make the spot on the wall move faster than c.
- ot 15y agoThis is definitely true, and marks a strong detachment of asymptotic analysis and theoretical computation models from real-world computers, which are just too complex to reason about them abstractly. In theoretical computer science, data structures like this are mostly theorems, proving what you can do in a given computation model. This doesn't mean that they have desirable properties in real-world implementations, compared to classical algorithms such as hash-tables, binary trees, tries, ... However, they are not completely useless in practice, as they usually bring up new ideas that, if properly engineered, can improve on "classical" algorithms. I've been working in this field for the last couple of years and I've observed that in certain niche applications advanced algorithms can really be game-changers (think computational molecular biology). For example I recently used succinct data structures to engineer a compressed trie that is fairly fast and has very good compression. For example if you have a big set of URLs you can compress it to a size around 12% of the original data and still do searches and retrievals in matter of microseconds. (paper http://siam.omnibooksonline.com/2012ALENEX/data/papers/018.pdf http://siam.omnibooksonline.com/2012ALENEX/data/papers/018.p... , code https://github.com/ot/path_decomposed_tries https://github.com/ot/path_decomposed_tries ) [/shameless plug]