Chevron Left
Back to Algorithms, Part I

Learner Reviews & Feedback for Algorithms, Part I by Princeton University

4.9
stars
11,559 ratings

About the Course

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. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion....

Top reviews

RM

May 31, 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.

CS

Oct 26, 2021

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!

Filter by:

126 - 150 of 2,320 Reviews for Algorithms, Part I

By albert a

Apr 26, 2021

Super interesting, was an enormous investment of time, but worth every second, even in times where I was frustrated with my implementation. Yes, this class is a real time drainer, but my response would be that the process is rewarding and was really enjoyable. The material is challenging and the lectures are succinct, but it's a real experience to learn how to struggle and keep going back and rewatching and rereading hoping to scrape just a little information that you missed: "learning to learn". Well worth the time!

By Guibao W

Jul 6, 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.

By 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.

By 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

By 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.

By 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!

By 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!

By Oscar R

Aug 30, 2020

The course taught me how to think differently about algorithms and using the computational resources at my hand. It was a real challenge to keep up with the strict performance requirements of the assignments. Having only taken a few introductory programming courses, I was not accustomed to thinking about the performance of my programs, but only about they providing the correct result. I believe this course has trained me to really use computational tools to obtain effective and efficient results.

By 张佳乐

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...

By randy s

Jun 9, 2021

Loved this course. Mind-boggling that these people are willing to put their hard-earned experience and material out there for us to learn FOR FREE !!!!!!!!!!

It's hard to express how cool I think this is.

I will say that it was hard not having direct access to real people (that's the way I learn the best), but it did force me to bang my head against the wall until I finally figured things out. Good thing I had the time to spend on it.

Thanks again, Professors Sedgewick and Wayne. Kudos!!

By Hinanawi T

Sep 2, 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.

By Joshua M

Mar 6, 2018

Thorough introduction to the study and application of Algorithms. Assignments are challenging yet achievable. Entertaining and informative lectures.

For those considering taking the course; I had no previous experience with Java, and only high-school level Math (barely). You can get through. You may better appreciate some of the material with more Mathematical maturity, but it isn't absolutely necessary - don't let the maths discourage you, pick it up as you need it.

By Patrick M

Sep 1, 2020

I appreciate the learning by doing in this class through lab assignments. And the labs themselves were involved and relevant to the topics. I think I gained a grasp on introductory algorithms and data structures, through the lectures, practice, and labs. And I got comfortable with topics that previously intimidated me such as recursion. Additionally, I feel relatively comfortable with Java through this experience, a language that I haven't used before the course.

By Achim W

Oct 9, 2020

An outstanding course! The videos explain the data structures and algorithms very well. The animations help a lot to understand how they work. I especially like the real world examples that show what these algorithms and data structures can be used for (applications). The exercises are tough but doable and help for the material to sink in. Thank you very much, Robert Sedgewick and Kevin Wayne! One can really see how much effort you put into this course.

By Katarina C

Sep 19, 2020

This is a very good course for people who want to learn about basic algorithms (or refresh their knowledge) and interesting real-world/scientific applications. Good explanations and intuitive proofs. Assignments are good exercise and force you to consolidate what was introduced in lectures. It is in Java, but you can learn the required amount of Java in a day if you are somewhat familiar with object-oriented programming. Not for complete beginners.

By Dan P

Feb 18, 2018

Fantastic course. Great in-depth discussion of various algorithms, and the hands-on approach to implementation is a welcome change from pure theory classes (although you get plenty of that, too). The programming assignments were a real eye-opener as to the power of carefully designed algorithms.

The full potential of the course is best realized with the accompanying textbook and the huge amount of material available on the booksite (which is free).

By Bhavya N

Jan 25, 2018

I simply loved this course a lot. I tried to start and finish this atleast 5 times previously, but never was I able to go past 3-4th video. But then I decided to do it one time by whatever means possible. And when I did finish it, I started to love Data Structures and Algorithms. I am now having some knowledge about how we use DS n Algos to solve some of the most trivial problems. Thanks a lot to the creator of this course, You are a GOD to me.

By jojoy

Jan 17, 2021

Before I join in this course , I have know that it's a amazing algorithms course. As a freshmen, I have just learned Java language a few month ago, but I still finished all the tasks successfully(But I always begin to learn before deadline. Thus, I have stayed up a few nights until I have pass the task, it doesn't seem to be in vain at present. ) This course really benefit me a lot in my Algorithms Learning. And let's go to the Second Part!

By Yuanrui Z

Nov 16, 2018

For a non-English speaker, the professor introduced and analyzed details and design soul of each algorithm in a simple but accurate way. If 10% of my country's university can treat education in such a delicate attitude, great willings of a crowd of ambitious students would not be failed, I think.

In addition, the assignment is instructive and well-designed, which benefited me a lot whenever I was trying to work it out or after finished it.

By Rajdeep D

Jul 5, 2021

This is a great course. The lectures videos are really awesome and help to understand all the concepts clearly. The programming assignments are quite challenging but doable with enough work and some research. Probably a little programming experience with Java is needed to get going with the assignments, but a solid understanding of object oriented programming in a language such as JavaScript is also quite helpful to program with Java.

By Fizuli V

Jan 11, 2021

Exceptionally good course with brilliantly designed weekly coursework. The automatic system that checks problem solutions is very detailed and provides feedback on time, space complexity and general bad practices. I would highly recommend to try at least one coursework, submit a solution and check feedback.

Questions could be quite challenging depending on the week (the first week was one of the most difficult) but it is worth solving.

By Manuel P

Nov 7, 2016

A great introduction to fundamental algorithms. This course is very well thought-out, the instructor always makes his points very clearly an convincingly: more than just algorithms, this course transmits a way of thinking about them. The material is very well polished, you can feel the instructor has been teaching this topic for so many years. In addition to all of this, the programming assignments' topic are generally quite exciting.

By José F L D

Jun 1, 2021

This is an exceptional course. The assignments are master pieces. The autograder is in itself an amazing programming work designed to challenge every one who dares to do the assignments. I can't imagine the amount of work put into those autograder programs. Personally, I was always impressed on how metiuculously the autograder was. I put a lot more hours to complete the course than the suggested 54. But, it was really worth it.

By Brian C

Dec 7, 2016

This course gives a very good overview of algorithms, justifying each new data structure or technique by examining the performance and technical problems that it is trying to solve, and explaining the meaning of the approach. It is a good idea to do a good bit of coding on your own, however, as the Assignments typically expect you to USE the data structures explained in the lectures from a static library rather than hand-coded.

By Visual J

Jun 22, 2017

I've not merely learnt lots of practical methods to solve the specific algorithm problems within this course, moreover, I've been able to manage to cope with other else algorithm problems, cuz, this course has taught me the through and thinking of using algorithm to solve a problem, including to understand an algorithm, and use it, and eventually get a solution to any specific problem.

Thanks to Professor Robert Sedgewicks