This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.
All the features of this course are available for free. It does not offer a certificate upon completion....

Jun 01, 2017

This is a great class. I learned / re-learned a ton. The assignments were challenge and left a definite feel of accomplishment. The programming environment and automated grading system were excellent.

Jun 11, 2017

Incredible learning experience. Every programmer in industry should take this course if only to dispel the idea that with the advent of cloud computing exponential algorithms can still ruin your day!

필터링 기준:

교육 기관: Hongkai Y

•May 29, 2020

This is a great course! I am not a CS student and have never learned algorithms before, yet after finishing this course I feel I have a very good command of the algorithms. The professor explains the complicated algorithms in a very clear and intriguing way. What I found particularly helpful about the course content are the visual demos of the algorithms and the weekly assignments. The demos make me grasp the idea of the algorithms intuitively and the assignments improve my practical ability. You won't be regretful if you taking this course! (and the course is COMPLETELY FREE!)

교육 기관: Yuvaraj T

•Apr 17, 2020

One of the best course on the internet to learn the data structures with its interesting mathematical applications(algorithms). The assignments are really interesting and challenging which gives us the feel of accomplishment when we finished it. The professor Robert Sedgewick explains clearly in the every part of this course. With the active discussion forums we can clear our doubts instantly even if you are in the other end of the world. Thank you for the professor Robert Sedgewick and professor Kevin Wayne and Princeton university for this great course.

교육 기관: Vivek b

•Oct 12, 2017

This course gives a really good feel of data structures and object oriented programming. The programming exercises are real fun (although exceptional handing/corner cases are bit frustrating). The course starts with union find and basic data structures like stack, queue, but the difficulty escalates very quickly (one needs a lot of patience for thorough understanding of Binary Search Tree (BST), Red-Black Tree, and Kdtree). I am sure you would learn something new even if you have already taken a course on Data Structure/Algorithm. Best of luck!!!

교육 기관: Steven C

•May 14, 2017

Lectures and explanations are methodical, detailed, and to-the-point. Occasionally I might be upset that I didn't understand something as clearly as it appeared as though Professor Sedgewick did, but, of course, part of the experience mandates that I make myself understand! The professor was encouraging, the TAs were extremely helpful and generous with their time, and my fellow students were kind, respectful, and also helpful. I would highly recommend this class to anyone seeking to enhance their knowledge of computer science and/or programming.

교육 기관: Anton M

•Nov 11, 2019

Great introductory-to-middle course on data structures and algorithms.

You're expected to know some Java in order to follow it, but acquired skills can be easily transfered to other languages.

On the other side, instructors will favor usage of classes (like set or stack) from customly written library, not standard Java one. Another thing, after each subject there are some examples of interview questions in the form of exercises. They feel like badly prepared and you'll spend most time looking for a better explanation/answers on the forum threads.

교육 기관: Alfredo V

•Mar 08, 2017

Wow, great course, one of the best in Coursera! I enjoyed the lectures a lot, they are engaging and fast paced, the examples of practical applications are interesting; the assignments and interview questions are well thought and challenging.

Thanks so much to the Princeton professors who decided to make this amazing material available online. The course is so good I had to buy Sedgewick and Wayne's Algorithms book, not because it was needed for the course (it is not, you have all you need in the lectures), but because they totally rock! Thanks!

교육 기관: Aneesa S

•Sep 12, 2017

After completing this course, I understand the fundamentals of algorithm design and analysis. The instructor presented the course material concisely and has a very deep understanding of algorithms. Being able to see the output of the autograder allowed me to see exactly where my code had errors or was not efficient enough. The assignments were very challenging, but after completing them I was sure I had understood the material fully. Thank you Princeton for this wonderful course! It was definitely the best online course I've ever come across.

교육 기관: Tom T

•Nov 18, 2016

Brilliant! I started the Algorithms course with not insubstantial software experience. However, I last took data structures over 10 years ago and decided to give myself a 'refresher' since my area of specialization rarely utilizes structures such as BST's or hash tables.

The assignments are 'just right' in applying algorithmic concepts and real-world technical rigor. The problems are focused and contained to fit busy schedules, but, at the same time, challenging enough to provide a sense of accomplishment and to see practical applicability.

교육 기관: Zachary A G

•Oct 01, 2016

I find Prof. Sedgewicks' moderately paced lectures very concise and easy to follow. His animated demo of each algorithm clearly demonstrates how the algorithm works. I find the problem sets challenging and fun, and finally finding an optimized solution as very rewarding, especially when I get the bonus scores. While this course uses Java as the programming language, I find the concepts quite easy to apply in other programming languages such as C. Thank you very much course staff for offering this excellent course for free here at Coursera!

교육 기관: Kor T

•May 23, 2020

Thanks for offering such wonderful instructions! Before taking this course, I had spent many hours reading the text book and my progress was painfully slow. This course with its instruction videos and programming assignment allowed me to quickly master the key concepts and apply them to solve real problems. The instructions from Professor Sedgewick are among the best that I had ever received from a teacher. I am looking forward to applying the knowledge in my future projects. Thank you again! God Bless.

Sincerely Yours,

Kor Tse

교육 기관: Oleg G

•Jan 10, 2017

Typical question of novice of programming: What language should I learn first?

Typical answer is incorrect, sadly.

Correct answer is: It doesn't matter. Algorithms and patterns matters. I'm not sure about patterns, but Donald Knuth and Robert Sedgewick are best at algorithms. And here you have unique possibility to learn from the best. Rush for it! And be prepared, it won't be easy.

And many thanks to Kevin Wayne for his fundamental job. Probably he is the one who we should thank for this great opportunity to learn it here, on coursera.

교육 기관: Amlandeep B

•May 06, 2017

Great not just for the underlying basic algorithms taught, but very close to what API design looks like in the professional context. Sedgewick's lectures are concise, focused and very easy to follow. the assignments are also reflective of good design in Java, and serves as a great complement to the four-part (formerly two part) course in Algorithms by Tim Roughgarden (in which I used python for the assignments). I personally took this course After the Stanford course but would recommend the reverse if you're new/still in college.

교육 기관: Zhenwei Z

•Mar 30, 2020

This course tells the basic algorithms and data structures, the best place of this course is the high quality of its assignments. They not only strengthened the understanding of the algorithm, and made us konw the importance of paying special attention to the exception handling, processing, immutable data types, function calls with no side effects, time complexity and space complexity, and these assignmnets help us to think about any possible corner cases, deepened our coding ability or is benefit for future programming work.

교육 기관: RA

•Jul 02, 2019

Amazing course! Loved the video lectures, the material is tough but the logic of lectures and the course itself is very clear. Also there is a book where you can find more details. I also loved the assignments, they were tough as well but very interesting. Don't afraid if it is your first experience in Java, if you know the basics you can pass them (also there is real help in forums). So I recommend this course for everybody who wants to learn some practical applications of algorithms and to know the basic theory. Thank you!

교육 기관: 李迎

•Oct 24, 2016

I really like this course. I think the pace of video is appropriate, clearly explaining the main knowledge of each part but not digging into details too much. for me,

I never learned algorithm or java before, but I can mostly grab the lecture content. Another reason I like about the course is the amazing programming assignment part. Each assignment is a little bit challenging but not overwhelming and you can exactly know how well you did through the precisely computing grader system. Thanks for such a wonderful CS course!

_{}^{}

교육 기관: Polina G

•Oct 09, 2017

Very well structured course. Amazing booksite and the full book with a bunch of practical exercises available. Lectures do not simply repeat what you can read in the book but concentrate on the gist and give advanced explanations and live demos of the most important concepts.

Programming assignments are designed in very capturing manner. I was challenged to solve interesting practical task meanwhile algorithm itself was only a tool to do it. And very detailed auto-grading tests ensured me that I used that tool correctly.

교육 기관: J.D. D

•Apr 01, 2017

Fantastic hands-on course that helps you explore algorithms. You should be pretty comfortable with programming in Java (comfortable with creating linked data structures) to get the most of out of it.

Assignments are incredibly well designed and allow you to make progress without much instructor. The discussion board is pretty responsive from other students in the course.

A great supplement if you have taken/are taking an algorithm course without any programming assignments (or poorly structured programming assignments)

교육 기관: Guibao W

•Jul 07, 2019

Great course for two reasons: 1) if you look at the reference code in the slides and extended materials, you will be amazed at how simple (and elegant) the implementations are. It's definitely a good point every serious programmer should strive for; 2) Each programming assignment were designed very very carefully. If you download the project zip files, you will see ton of testing datasets for debugging. Apparently they (the test data) had been chosen to help correct your solution, which are often very hard to obtain.

교육 기관: Alex M

•Jun 16, 2020

This is an excellent course. The video lectures are well made and highly informative, explaining the theory behind each algorithm, demonstrating the algorithm in action, and providing snippets of code for implementation. The assignments are quite challenging, especially if you're new to Java like me, but with some effort they are doable. Just be patient, read the output from the autograder, and don't be afraid to seek help on the forums. This course wil absolutely make you a better programmer and computer scientist.

교육 기관: Aman C

•Jun 25, 2018

Just by completing this course, doesn't mean now you know "Algorithms" you have to keep on revising and the content in this course is really deep for which you have to come back again to this course just to fulfill your thirst to understand algorithms. In my opinion this course is really great and the assignments are also kind of brain twisters, by which you will learn a lot not just about algorithms but about the language in which you are writing your code in this case it is Java. 5 stars from me to this course

교육 기관: KINER B S

•Oct 29, 2018

This course is a really good intermediate-level course. The course content is really good and interesting. It covers all the points which are necessary to study algorithms. I particularly found the assignments most interesting and challenging. The most interesting was the autograder. It tested each and every case and deducted the points if any case failed. So to score full, one has to work really hard.

I thank the instructors for this wonderful course and also to the mentors who actively supported on the forums.

교육 기관: Mrunmoy S

•Aug 14, 2019

I wanted to refresh my algorithms to get ready for more challenging work. This course is awesome! It gave me a head-start to start tackling programming problems.

I am grateful to the instructors to make such a course available for people like me who are not only physically far but also have less time each week due to full time work commitments. I am glad I took this course and diligently attempted the assignments. Courses like these makes me a better programmer. Next, I am headed to Algorithms-II. Cheers!

교육 기관: Dávid S

•Aug 19, 2017

The course is absolutely awesome! A lot of practical information about methods and about general thinking approaches that are essential for anyone who has to write efficient code for solving various problems.

I also want to highlight the very high quality slides and presentations, it is clear that the creators of the course made a lot of effort in it.

Finally, I really liked the programming assignments and the way they gave feedback about the correctness of them!

Thank you very much for your work!

교육 기관: 张佳乐

•Mar 25, 2018

3 month later, i'am come back, and finally complete this well-known course.

If you just familiar with java, i strongly recommend you don't enroll this course, accomplish at least 80 problems in Leetcode before take the course, the explore -> learn -> tree category helps me understood recursion.

This course is a big challenge to me, but when i finish it, i not only learnt algorithm knowledge, but also debugging skills.(I understand why some people use "println" instead of "breakpoint")

Thank you...

교육 기관: Hinanawi T

•Sep 02, 2019

The course is easy to understand and its prerequisite is acceptable to high school students. Thanks to R.Sedgewick and other authors.Though English is not my first language, but the course formulated the algorithms and data structures by a comprehensive way that could be learnt by a people without much exps. BTW, the programming assignments have a complex online grader, finishing those assignments will greatly develop your ability of applying algorithms and debugging as well.