Chevron Left
Back to Algorithms, Part I

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

4.9
stars
11,226 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.

BJ

Jun 2, 2018

Good contents and the logic of the whole course structure is very clear for a novice like me. The weekly homework is also awesome. Would recommend to anyone who wants to learn about computer science.

Filter by:

2026 - 2050 of 2,244 Reviews for Algorithms, Part I

By Brett M

May 16, 2020

Mostly good. I think the instructions could use some cleaning up. Below are some notes I took during the course.

Improve the assignment specifications by getting rid of terminal command mistakes. Ex: Queues assignment shows terminal with “java Permutation 3 < distinct.txt”. However, this will create an error. Correct command is “java-algs4 Permutation 3 < distinct.txt”. This is extremely frustrating to students as they are struggling with the java syntax and this specific development environment already.

Add additional links in the assignment to the book site example codes. The most frustrating part of this class was dealing with java syntax. While being able to program is a prerequisite, I haven’t used java before and dealing with the nuanced syntaxes for the various interfaces was extremely frustrating until I found the helpful examples on the booksite. Some links would have helped a lot and I wouldn’t have been searching stack overflow for hours on some assignments.

Clearer instructions on the IDE installation website. A couple of warnings were after the instruction that the mistake could have been made on. Add additional warnings for people from other classes that the hello world program is intended only for one of the several classes that use that site. That was buried in the fine print. Or better yet, add the hello world project to the coursera class so everyone can follow the instructions on the IDE installation website.

Open the codepost website for IDE installation help with a smaller fee. Having trouble installing a development environment is something a lot of online programming courses get wrong and is extremely frustrating to students trying to learn programming for the first time.

Poll students so you can get a better idea of how long the homework assignments took. It took me about 4x longer than the estimate for the collinear homework assignment.

Don’t have the first homework due 2 days into the class. I’m not sure if the class is setup to always have the first assignment due that quickly or if it is because I started on a Sunday, but this really is an unattainable goal unless you already are very familiar with both java and the IntelliJ IDE, and have 8 hours within the next couple of days. Then the student is behind for the rest of the class. I think giving the student at least 5 days from start would improve the student experience greatly.

Fix the forum search feature so that after you click to search the forums, the text field to search doesn’t have to be clicked again.

By Kapil R

Jan 14, 2017

I have never studied such a good algorithms class starting from very basics. The best thing which I like most was Java implementations of every piece of algorithms of basic data structures. All videos lectures have detailed explanation of topics. Just a suggestion that - time and space complexity explanations could have been in more detailed so as to understand easily by a novice. Although, the programming quiz questions were difficult, they require every chunk of knowledge you have just studied. Also, adding interview questions related to chapter with hints after your trial and MCQs after every small lectures were charm to the course. I am sincerely looking forward to enroll in other courdses as well. Thank you so much Coursera team, Robert and Kevin.

By Łukasz W

Aug 18, 2017

Bardzo dobrze omówione zagadnienia (przykłady, ilustracje oraz animacje, wszystko z komentarzem). Dodatkowy plus za dobre przykłady implementacji w kodzie oraz za bardzo fajne biblioteki pozwalające na ilustrowanie działania kodu - świetna sprawa móc zobaczyć na ekranie co się dzieje. Ciekawe zadania praktyczne - uwaga, trzeba się momentami nagłowić nad prawidłowym rozwiązaniem. Mały minus za opisy zadań testowych oraz feedback czemu testy nie przechodzą - bez szerszego opisu testu czasem ciężko jest znaleźć błąd w kodzie. Polecam ten kurs.

By Mark H

Mar 1, 2020

It was certainly challenging. The programming exercises were hard and took me multiple attempts to get them right. But they were rewarding.

The interview questions were optional and I did not get much out of them. Some of the weeks had a slightly odd structure where the programming assignment was in the middle of the lectures, meaning you would have to complete the lectures after the programming assignment, which I felt was a bit odd.

Overall though, good course, and very challenging if you aren't a good java programmer.

By Devendra R

May 14, 2020

Good: The instructor is reputable, and knows the stuff. Explanations are okay.

Could Be Improved: (1) Explanation for some topics is not enough, or does not cover the material well enough to finish the assignment. (2). Assignment grader checks for internal implementation of the solution rather than what can be accessed via the public API. I spent quite a lot of time with KdTrees exercise.

(3). Videos and assignments take much longer than officially recommended.

By Samir K

Feb 6, 2020

At 1st this course seems easy but as you start working through it, you wouldn't be able to do any assignment without a proper understanding of other data structures and algorithms, which aren't mentioned in the content. Every week you would be introduced to a small, basic algorithm and/or data structure and by the end of the week, you would be doing a tough assignment, which literally boosts your confidence... Highly recommended for software engineers.

By Michael B

Oct 7, 2016

I really liked the videos and the lecture slides. I think the assignments were really good as well, but had the feeling sometimes small but important informations were missing or not placed well enough. I read the description for the 8puzzle half a dozen times, but that this is not actually solving the task in the optimal amount of moves but rather in some arbitrary amount of moves (we just output the optimal moves) somehow escaped my attention.

By Santiago A

Jul 18, 2017

Si no estas habituado a programar con JAVA se invierte bastante más tiempo del indicado. Las tareas pueden llegar a ser bastante pesadas y la información proporcionada tras la batería de test puede no ser suficiente para depurar tu programa. Me ha resultado más difícil de lo esperado, pero sin duda alguna merece la pena para refrescar conceptos vistos en la universidad y sus aplicaciones

By Kai-Ning K

Jun 2, 2020

Very great course to understand the algorithm and usage of data structure in java from bottom to up! In lecture, the professor talks about each concept step by step and discuss the implementations in detail. Through the assignment, I also can know practical usage of different java data structure. The assignment is challenging and a bit hard but makes me feel motivated to complete it.

By Eddie T

Aug 7, 2017

The assignments are very challenging but it will help you understand not only the concepts but also the real implementation of the algorithms. Although I don't like the pace of the professor in class and sometimes it made me feel distracted..., I still appreciate the whole course and recommend it to anyone who is interested in learning Algorithms.

By Shan P S

Aug 25, 2017

Great course for students who are familiar with basic data structures and good at Java programming. I am thankful to the Teaching team who responded to my queries. Highly intensive programming assignments have a steep learning curve. Ideal for learners who can spend time and have patience to continuously develop correct solutions.

By Dmytro L

Jul 16, 2017

first task seamed pretty challenging to me, but later ones were just fine.

very nice thing is that you don't have to watch videos to study. it's just impossible to listen 100 times something difficult, unlike text - you just see all the material and have enough agility to understand material.

4/5 because practise quiz is not tested.

By Christian D R

Jul 12, 2020

Course is quite nice. I found the assignments challenging. As constructive feedback I would recommend to highlight the most important key concepts for each week, similar to the summary runtime table but with key concepts of each algorithm in quick-card that can be used and recalled during real world programing work environment.

By Prateek V

Aug 10, 2017

Course is very relevant, lectures are excellent (nicely explained), topic flow is good. Assignment levels are also good and quite par with the expectation. Only issue is that non-java developers or newbie's would find quite difficult to complete the assignments, which would decrease their morale for continuing the course.

By Ahmed K

May 21, 2020

I really learnt a lot about algorithms and data structures, Its my first time reading about this topic,

and it was a great experience,Prof. Robert Sedgewick was a great teacher and I liked the way he explain lessons, for me every week assignment wasn't easy, but I enjoyed learning and understanding new things.

Thank you

By Eric H

Jun 16, 2017

Great course. I learned a lot. Biggest struggle was the setup and using Java. I had not really used Java before. So the instruction and material explaining Java could be better. That's the only reason for 4 stars and not 5. The videos on how the algorithms work conceptually is really well done.

By Josiah S

Aug 3, 2022

The course was well-designed. The programming projects were easy to understand and the auto-grader feedback helped pinpoint issues easily. I would recommend this to anyone with a general knowledge of programming wanting a more detailed dive into some common algorithms and data structures.

By Pieter A S

May 18, 2018

Great course, covers many aspects of algorithms. The assignments with the autograder are great too. But the estimated time for an assignment is in my opinion far too low. In my case, to complete an assignment, I had to spent many more hours than the estimated 5 which the course indicates

By Prashant N M

Jul 2, 2017

Though a wonderfully structure algorithms course it suffers the most commonplace of problems i.e. sticking to a specific language for the whole course. If we don't consider that to be a problem it's really enjoyable with respect to both the coursework and the assignments as well.

By Vu A

Nov 30, 2016

This course is very helpful with me. It helps me review a lot of materials about algorithms I've learn from my university. Thanks professors and other members for a great course. If you want to solid your knowledge, don't hesitate to take this course, it's total worth it.

By Harshit S

Mar 2, 2017

The course was really good in giving real time examples of the algorithms and its usability in the real world ,the course should also have offered few more assignment covering each topic in the assignments using every component of the course!

By Shantanu S S

Aug 17, 2020

Excellent Course. Very Good Assignments and the Autograding feature.

Some of the topics are difficult to understand. So, I think their explanation should be as per level so that all the students can understand instead of moving forward.

By Shawn X

Jun 21, 2020

I took this course to get a taste of Coursera courses and a refresher on my algorithm. The course is very informational and clear (Robert is a great professor) but the home assignments are much more challenging than the course material

By Mattias H

Dec 27, 2016

Great course. Sedgewick has good educational skills. The course also contains good examples and interesting assignments. I struggled a bit with the first assignments, but then I liked the last 2 better. Looking forward to part 2.

By Johan R

Feb 19, 2020

Excellent course. Good lectures and interesting and challenging problems. Only drawback is that we are forced to use Java. It obviously helps with grading, but would have liked to use a language I am more familiar with.