Chevron Left
返回到 算法,第一部分

学生对 普林斯顿大学 提供的 算法,第一部分 的评价和反馈

4.9
7,983 个评分
1,645 条评论

课程概述

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

热门审阅

RM

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.

BJ

Jun 03, 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.

筛选依据:

26 - 算法,第一部分 的 50 个评论(共 1,585 个)

创建者 clayton w

Mar 16, 2019

Want to listen to a boring old man incoherently mumble and say "UM" every 5-10 words? This course is definitely for you!

创建者 1nas

Jan 16, 2020

Personally, I think that the assignments in this course (not in the Algs textbook) did negligible improvement in solving problem. On the other hand, writing assignments feels like doing a Java project on your own. This feels not bad since it's not easy for programming noob like me to explore and participate in projects on GitHub owing to lack of confidence : (. BTW the autograder is so awesome that it even examines your Java code style! This is pretty good for students who had learned C/C++ before to form a better code style in Java. For the videos, it's pretty good for novice (I've been confusing for a long time to find a good way to start and learn Data Structure). However, in other words, the CS knowledge taught in this course is far beyond needed. It's still necessary to drill yourself on other sites like LeetCode, and learn the relevant mathematical algorithm analysis (maybe by reading Introduction To Algorithm).

Still, I will definitely proceed with the Part 2! Genuinely appreciated, Mr. Sedgewick!

创建者 Natsu O

May 27, 2020

The content was easy to understand. However, the professor is not as enthusiastic as I expected him to be, and the programming assignments are focused more on applying an already implemented data structure to a problem rather than writing algorithms from scratch.

创建者 Vaibhav P

Jun 04, 2020

One of the best courses I did. I am guilty of not finishing many courses on coursera, but this one kept me hooked and motivated enough to keep coming back at regular intervals and actually finish. The actual learning from the course is more than just algorithms as we get detailed feedback on style and even some design aspects of the code we submit. The only downside of such depth assessment review system is that we are forced to use Java for the solutions, sometimes which can have its own learning curve, and hard to get 100% score because of some nitpicks which are not worth spending time to fix for a course assignment (they would be for actual production code though). Also, the specs provided are sometimes missing requirements which we only find out by submitting once and reading the assessment with failed tests.

One thing that I think should be improved is the hint system for quizzes. After we submit, in most cases the hints are not enough to understand how to solve the problem. So it leaves you less fulfilled than ideal, knowing there is unsolved problem out there and no real help.

Overall, totally recommended.

创建者 YASIR P

Aug 13, 2020

The course is just awesome. The course is taught by an expert in the field, and that fact reflects in the content of the course. The assignments are well designed and very involving, which helps the learner think deep, come out with a solution, improve the solution as much as possible after autograder evaluation, which is really good. That way, the learner consolidates the concept which he/she learned in the video lectures.

Also I see there are many people complaining about enforcement of the Java as the programming language for assignment submission. In my opinion, that is not a probelm at all, if you are strong in some other language, say C++, it is very easy to adapt and in the process you end up learning, not just Data Structures and Algorithms, also a new language, Java, which is a very widely used language. People should see it as a boon, since it gives double returns for your efforts. I feel very bad, because it is only because of the enforcement of Java, some people gave bad rating for the course.

WINNERS TRAIN, LOSERS COMPLAIN

创建者 Benjamin W

May 11, 2019

I have taken several online courses, mostly on Coursera, which I've enjoyed and learned a great deal from. However, I would have to say that this is the best online course I've taken so far. The subject matter revolves around some of the most fundamental algorithms for computer science and emphasizes the importance of data representation. The choice of Java as a programming language for this course helps emphasize the distinction between data structures and abstract data types. The lectures relate the material to concrete and interesting real-world applications but also occasionally mention related open problems in computer science. The instructor is very clear in his explanations, which often make use of excellent and helpful visualizations. Lastly, the assignments are challenging but rewarding and the feedback provided by the automated grader, which accounts not only for correctness of the submitted APIs and their implementations, but also for coding style, timing, and memory use, is an invaluable learning tool.

创建者 Henry L

Aug 28, 2020

I thoroughly enjoyed this course and learned a lot about algorithms and data structures. Before taking this course, I found algorithms to be a very dry topic but somehow this course made it very interesting. The lectures covered a lot of real-world applications, which gave insights into some of the things which happen 'under-the-hood' of computers and databases. The 'war stories' were particularly entertaining. The assignments were at the right difficulty level (although there was the initial hurdle of learning Java from scratch).

创建者 Ajinkya D V

Jul 04, 2020

Pretty dope course. A lot of knowledge about DS and Algorithms contained along with a few Java things here and there. Fairly challenging assignments as well. Would recommend building the Data Structures & Algos up before having a look at the codes provided in the lectures for thorough understanding. This part will help with the actual implementation of Data Structures since the assignments are application centric. Ample resources available for debugging and identification of flaws in interpretation.

创建者 Kevin J

Jul 20, 2020

Excellent course that covers both the implementation and use cases of common algorithms and data structures, as well as the mathematical theory and analysis of run-time. I would highly recommend this course to anyone interested in learning more about algorithmic design, and I look forward to taking part II.

创建者 Edward A R C

Jul 20, 2020

I love this course. From its content until its assignments I used many algorithms and data structure that was new for me. Honestly, I didn't know anything about Tilde Approximation, Percolation (Dynamic connectivity), when a sorting algorithm is Stable, Geometric Algorithm, and so. Thank you so much!

创建者 Scott W

Jun 21, 2020

All is great except that there are too many "um"s in lecture videos. But that's totally tolerable considering Professor's age.

Anyway, I've learned a lot from this course, especially those fabulous PROGRAMMING ASSIGNMENTS!

创建者 shobhit g

Jun 24, 2020

I believe the most exciting part of this Course was the superb assignments given after each week .Solving them really posed a challenge and it was fun to resolve them ,which bears the fruit of improvement in the marks.

创建者 Kyle K

Jun 25, 2020

Really enjoyed this course, the instructor, the explanations, and visuals are fantastic. The homeworks are challenging but the course provides great resources for visualization and testing and I learned a ton.

创建者 Gabriel A P S

Jul 21, 2020

It's a very good course! I've learned Java and I had to think outside the box to get the most efficient solutions! It has many interesting and complex problems to solve.

创建者 pradeep v

Jul 24, 2020

excellent. exceptional way of teaching. the student needs to listen carefully all the words spoken, as the lecturer pinpoints every detail or touches them.

创建者 Erik U

Jul 21, 2020

Challenging, but informative. I learned a lot and will think about programming algorithms and data structures much more carefully now.

创建者 Mohammed A S

Jan 19, 2020

Awesome course. The instructor is one of the best in the business. It gives you a proud feeling to be taught by someone who himself has contributed so much to the tech world in terms of Algorithm and Data structures. Though sometimes it does get a little frustrating as the topic is so hard. My only complain about this course is as the course is in java for people trying to implement the Algorithms in other languages like c++, python it gets a little hard to find the alternatives of language specific features in other languages so i wish some help was given on that regard. Overall great course. A big thanks to the instructor for making this course.

创建者 Gavin F

Jul 01, 2020

A very well made and informational course. However, it is quite difficult, specifically the projects. Even as a CS undergraduate, this really was not easy at all. This certainly also requires a lot more time dedicated to it than suggested.

创建者 Justin C

Aug 13, 2017

Lectures are pretty good and material is fairly well explained. Be warned that significant knowledge of Java is expected and it isn't taught here.

创建者 Serhiy

Mar 28, 2017

Topics are interesting, explanation is boring

创建者 Bhavya B

Jun 12, 2020

No certificate issues after lot of hardwork

创建者 Alex E

May 21, 2017

Great course with appropriately challenging assignments! Clearly a lot of effort was put into designing them in such a way that the API and code-tester forces you to implement precisely the algorithm they're talking about, but you still have to write all the interesting code from scratch. Difficult, but a ton of test clients and other resources are provided to help you out. I felt really rewarded for each assignment completed.

I was taking this as a refresher (took Algorithms in college), and found the lectures much more interesting this time around. For example, the way Red-Black trees were explained as an implementation of 2-3 trees, made the algorithm much easier to understand than how I learned it before, which was that a red-black tree is a binary tree maintaining such-and-such invariant blah blah blah. As a result I retained more about how the algorithm works, and the invariant actually makes sense to me now.

创建者 Rui D

Jan 10, 2018

This course is designed so well that it is the best as an introduction for algorithm beginners. It does not include any obscure maths formulas, but it has a lot of propositions and properties that build up the rigorous analysis framework, teaching us how to think systematically in terms of designing, analyzing and choosing algorithms. Leveraging Java, you can learn the algorithm implementations and applications by experiments. This approach makes algorithms learning very practical. The course also advocates for good programming style which is very important in software construction in the industry. This is assured by using some good tools such as FindBugs and so on. Last but not least, this course provides very rich learning materials, especially the high quality assignments with good auto-graders which provide us invaluable feedback, and high quality example source code and standard library.

创建者 Xinyuan Z

Jun 13, 2017

I can't measure how important this course is to me. I am a graduate student in the field of Theory & Engineering of Control, which is actually a domain related half with theory and mathematics and half with engineering, coding and application. I have involved in some international competitions before, responsible for C++ coding. After I struggled to finish this course and all the assignments, however, I find that I have a better understanding of programming. What I should do is definitly not just finish the functions raised by a project, but to analyse my codes, to optimise them and maintain them as something can be reused. Also I got to know the fields of robot path planning (A* algorithm) and so on. I will take another part of this course in the next month cause it really takes my a lot of time, but there are something crutial to deal with. Thank all the friends I've met in the forum.

创建者 shan h

Jul 05, 2020

This course is great. The lecturer explains the ideas and illustrate them with animation crystal clearly. The effort put into the walk-through of the material can be clearly felt, which get the job done very well. The only thing that i felt somehow missing is the philosophy behind those algorithms, like what makes one algorithms faster than the other? Is it because slower algorithm does extra job than goal? The course might be more intriguing if that part can be covered to some extend.

The assignments really impressed me, especially how the design of auto-grader. This course can really be standalone without any instructor with this auto-grader. The assignments themselves are really useful in consolidating the covered material. Beside the design of the APIs give me a good lesson what a good encapsulation is and how convenient they could be, which is really useful experience.