Hacker News Comments on
Algorithms Unlocked (The MIT Press)
·
2
HN points
·
5
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this book.This is just my opinion and I'm sure it differs from others...Roughgarden's class is advance and expects mathematical maturity. You may find his course quite fast and rough if you are a beginner.
Sedgwick's class is much easier. He is a bit boring and tries to use "real life" examples (in some instances) from the physical sciences to make the material relatable. This in my opinion detracts from the material. Also, he doesn't always fully explain where he got some of the big ohs here and there.
My advice? Follow MIT's OCW course (it uses CLRS). Supplement it with Algorithms Unlocked, the Khan Academy link in OP and CLRS. If you use those 4 resources and put in the work you'll understand the material.
All 4 sources have Thomas C's DNA touch to it (he is the C in CLRS). So you'll find it consistent when you read from one source to the other. After reading/hearing the same thing about 4 different times in 4 different ways it'll begin to click.
Order of easiness is probably Khan Academy > Algorithms Unlocked > MIT Algorithms Course > CLRS.
Algorithms Unlocked is like "pre-CLRS" and Khan Academy's version is the TL;DR version of Algorithms Unlocked.
Hope this helps.
Below are the links,
https://www.amazon.com/Algorithms-Unlocked-Press-Thomas-Corm...
https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press...
https://www.khanacademy.org/computing/computer-science/algor...
https://ocw.mit.edu/courses/electrical-engineering-and-compu...
⬐ b3b0pGreat feedback and insight. Appreciated. I'll checkout the MIT OCW and Khan Academy first. I'm hardly a beginner, but my skills feel a bit rusty and want to refresh them.⬐ imakecomments⬐ dwdzNo problem.Any particular reason that you linked MIT course from 2005 instead newer version from 2015?⬐ augusto2112I'm going through Sedgewick's class right now. Is the MIT OCW's course math heavy? It lists "Mathematics for Computer Scientists" as a prerequisite, I am somewhat familiar with the material, but not in a very deep level. Should I take that one before?⬐ Cursuviam⬐ 40acresThe main aspects from Mathematics for Computer Scientists that it assumes is knowledge of asymptotic complexity (O(n)) and basic proof writing skills.Great post, thanks for the resources.I find there are a lot of online resources for those looking to learn algorithms and data structures but I've had trouble finding the same breadth and depth of resources surrounding the math behind CS (discrete math, probability, etc.). Any suggestions?
⬐ imakecomments⬐ zumuRead "Discrete Mathematics" by Epp. Probably the easiest Discrete Math intro I came across.> Order of easiness is probably Khan Academy > Algorithms Unlocked > MIT Algorithms Course > CLRS.Where does Roughgarden's course fit in to this?
⬐ sua_3000I've taken both Stanford's and Princetons Coursera courses, and powered through the MIT OCW, and I would say this evaluation is spot on.If you have to pick only one go with the MIT OCW, and snag a copy of CLRS. I got mine from my local lib. and it gave me more than enough time to work through the problem sets from the mooc.
As a follow up to this resource I recommend,Algorithms unlocked: https://www.amazon.com/Algorithms-Unlocked-Press-Thomas-Corm...
CLRS: https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press...
Both include the same author as the one in this article (Thomas Cormen).
I recommend learning discrete mathematics, then data structures and algorithms.I cannot stress enough how important mathematical foundations is. It'll make everything else much easier to learn. I haven't read the book but heard good things about: https://www.amazon.com/Discrete-Mathematics-Applications-Sus... as a beginner text.
Coursera has multiple offerings on Data Structures / Algorithms -- find one that works best for you.
For instance:
https://www.coursera.org/learn/introduction-to-algorithms
https://www.coursera.org/specializations/algorithms
https://www.coursera.org/learn/algorithmic-thinking-1
https://www.coursera.org/learn/algorithmic-toolbox
By doing all of those you'll get a good introductory exposure to the topics.
You should also look at a rigorous course offering of Algorithms. MIT has a few online to view.
Some readings for a beginner are:
https://www.khanacademy.org/computing/computer-science/algor...
https://www.amazon.com/Algorithms-Unlocked-Press-Thomas-Corm...
https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press... (not beginner level but classic)
After all of this you should be fine with diving into interview books. You'll want to whiteboard solutions and be able to do all the difficult problems. Look into sites like leetcode, glassdoor and be able to do the difficult problems posted there.
⬐ 40acresThanks, there are some good resources here. I rushed through CLRS to help prepare for these interviews but I failed at the phonescreen, which was mostly comprised of Leetcode / Hackerrank type questions. I'll definitely take a look at the coursera course specialization but it seems as though these interviews comprise of a 'programming challenge' type question for the phone screen and more with a focus on data structures, algorithms and system design for the onsite.
YES! Thanks so much for helping put this together.I've spent a lot of time looking for valuable resources on Algorithms, Data Structures, and other CS theory concepts. CLRS was highly recommended but without a technical background, I wasn't able to dive in as quickly as I hoped. A few days ago, I purchased a copy of Algorithms Unlocked [1] which was described as a "prequel" to CLRS. This review in particular grabbed my attention: "The people who will get the most out of this book are self-taught programmers who have never taken a course in algorithms but who nevertheless need to know this material." Hopefully there isn't too much overrlap :)
BTW, the crytopgraphy & information theory units [2] also look promising.
[1] http://www.amazon.com/Algorithms-Unlocked-Thomas-H-Cormen/dp...
⬐ devnonymousJust a note I thought might be useful. I am a self-taught programmer as well and personally, I found the O'reilly 'Algorithms in a nutshell'[1] book excellent as both a learning resource as well as reference. Also, it is a /much/ smaller book with a '...focus on application, rather than theory...' and /complete/ working code.[1] http://www.amazon.com/Algorithms-Nutshell-In-OReilly/dp/0596...
⬐ pamelafoxYes, Cormen thinks that Algorithms Unlocked is actually a much better book for the crowd that would likely use this content. I put more links in this article at the end, with recommendations from someone who runs an Algorithms study group for mostly self-taught programmers: https://www.khanacademy.org/computing/computer-science/algor...The crypto one has a lot of well done videos by Brit Cruise, I've been going through that one personally myself. The info theory is also done by Brit and likely just as cool. There is no programming in either of those, though you can see how they programmed a few visualizations.
Some other resources besides CLRS...Free interactive Python textbook on Algorithms & Data Structures: http://interactivepython.org/courselib/static/pythonds/index...
Robert Sedgewick and Kevin Wayne of Princeton have a great textbook (code samples in basic Java): http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewic...
They also teach a two-part Algorithms course on Coursera: https://www.coursera.org/courses?orderby=upcoming&search...
Thomas Cormen (the C in CLRS) also has a new book called Algorithms Unlocked which introduces some popular algorithms in pseudocode. http://www.amazon.com/Algorithms-Unlocked-Thomas-H-Cormen/dp...