Found in 7 comments on Hacker News
jfaucett · 2018-02-21 · Original thread
I know its not an online course and its a relatively massive tome, but I'd recommend just working through "Introduction to Algorithms" by Cormen/Leiserston/Rivest/Stein [1].

This book has great explanations and exercises for everything you could want to learn from the basics of sorting and algorithmic design and analysis, to graph algorithms, linear programming, and dynamic programming.

It lacks some degree of depth on more advanced topics, but if you work your way through it and actually implement what you read and do the exercises, you will be more than well enough equipped to take on just about any problem.

The key is going to be to actually implement what you read/learn, I think it might take you a little more time than watching an online course, but in the long run it will give you a much deeper knowledge of the material.

1. https://www.amazon.com/Introduction-Algorithms-Thomas-H-Corm...

samikc · 2011-11-12 · Original thread
As far as I know a good company who would like to hire a Hacker (a good or very good programmer) will consider you (Take look at http://en.wikipedia.org/wiki/Hacker_ethic). However, you may have to prove to them that you know the stuff that you have written in your resume.

Best way forward would be to work on your skills. Although its a long shot but follow some of the advice for novice programmer. You can look for Steve Yegge's post on interviews and Joel on Software. These will guide you through this landscape.

If you want to learn programming from ground up. Here is my list:

1. http://mitpress.mit.edu/sicp/

2. http://www.amazon.com/Introduction-Algorithms-Second-Thomas-...

3. A Data structure book

4. Some basic book on the programming language of your choice.

The list may go on but you need to go through them in full steam.

Best of luck.

geekam · 2011-05-03 · Original thread
"Introduction to Algorithms" (http://www.amazon.com/Introduction-Algorithms-Second-Thomas-...)

"The Art of Computer Programming" (http://www.amazon.com/s/ref=nb_sb_ss_i_6_31?url=search-alias...)

....to begin with.

Then there are theoretical computer science books.

I like the Computability, Complexity, and Languages, Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing)

http://www.amazon.com/Computability-Complexity-Languages-Sec...

stavrianos · 2009-04-20 · Original thread
Of the math textbooks I've used, two've been good enough to keep so far:

Linear Algebra: http://www.amazon.ca/Linear-Algebra-Applications-CD-ROM-Upda...

Calculus: http://www.amazon.ca/Calculus-Early-Transcendentals-Tools-En...

on the more computer-sciency side, Introduction to Algorithms has a lot of good word-of-mouth. I'm not such a fan, myself, but here it is: http://www.amazon.ca/Introduction-Algorithms-Thomas-H-Cormen...

andreyf · 2008-07-19 · Original thread
As for me, I learned a lot of the concepts quicker and got more things done in Python than in Java. Why can't schools change the curriculum?

They will, with time. Colleges are slowly moving to Python instead of Java. With time, so will employers and the AP's. Then, slowly, schools will.

This is one thing you learn painfully as you get older - there are a million changes that should happen now, in a perfect world. In the world we live in, change happens slowly - money needs to be allocated to hire new teachers, which takes time, new teachers need to be interviewed and hired, which takes time. Old teachers need to be trained, which takes time, etc. A new teacher has to prove herself as being competent before a high school introduces a new curriculum only she knows, because they don't want to invest developing tests/homework problems/syllabi that will be useless if that teacher quits/gets pregnant/gets hit by a bus.

Java isn't so bad, it definitely has it's place, once you "get it" - it's great for creating concrete specs and controlling large numbers of developers (some of whom may be of intermediate quality). Try working with a crappy code base in Python, JavaScript, or Ruby, and you'll be ready to pull your hair out in a week.

If you're serious about programming and programming languages, though, forget about learning a thing in high school, work for the grades (if that's your style), and learn things on your own. Don't do it to show off to your friends - they're an inexplicably minute fraction of the world at large - impressing them is like a minnow trying to impress his puddle. There will be a lot of people much smarter than you if you get into a good college.

Save up your lunch money for these books, and get through as much of them as you can before grad school (or work):

http://www.amazon.com/Compilers-Principles-Techniques-Tools-... http://mitpress.mit.edu/sicp/ http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme... http://aima.cs.berkeley.edu/

That gives you 5 or 6 years, not nearly enough to really get these things, so make time. And... GO!

PS. consider it a big step in the right direction when you "get" Lisp.

boucher · 2008-03-04 · Original thread
"Algorithm Design" is a great book. A similar quality book that focuses more on introductory material is "Introduction to Algorithms" http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...
boucher · 2007-12-20 · Original thread
Good introductory text: Cormen/Leiserson/Rivest/Stein: Introduction to Algorithms (2nd edition)

http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...

Good advanced text: Jon Kleinberg/Eva Tardos: Algorithm Design

http://www.amazon.com/Algorithm-Design-Jon-Kleinberg/dp/0321...

Fresh book recommendations delivered straight to your inbox every Thursday.