

Ask HN: what are the best ways to learn algorithms and data structes? - nitin1213

I have recently started learning to program and have fiddled  with some simple c programs Like calculator,matrix addition etc from a c textbook. but I am not able to understand how those  programs are written. I know most part of the syntax but if anybody asks me to write a program to do x I don&#x27;t know how to do it. I learnt that its essential to know algorithms in order to write good programs.how do I get started with it?I am fully determined to become proficient in programming and willing to put in the required effort.how do I go from my present state to a situation where I will be able to write awesome programs.?I have made fabrice bellard my idol.:-) anybody willing to mentor me over email? give me some suggestions.
======
saranshkataria
There's this introduction to algorithms course by MIT course ware which I
found useful while I was learning. You can see it here:
[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/) The video
lectures are pretty good!

------
conexions
[https://www.coursera.org/course/algs4partI](https://www.coursera.org/course/algs4partI)
The Cousera couse above is a really good. Its centered mostly around Java, but
the basic principles, of course, can be used in any programming language.

------
ahazred8ta
The Algorithm Design Manual by Steven Skiena is well regarded, has war
stories, case studies, homework assignments. - Find it at
[http://www.algorist.com/](http://www.algorist.com/)

~~~
Mankhool
Hey Ahaz I wanted to reply to your question on this link
[https://news.ycombinator.com/item?id=7176039](https://news.ycombinator.com/item?id=7176039)
I work for a TV Studio that is part of a global Telco. Please put a contact
email in you link!

------
brudgers
Knuth, _TAoCP, vol I_. Because i t includes the maths and Assembly Language
too, it perhaps qualifies as the hard way.

