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

2017年5月31日

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

2018年6月2日

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.

篩選依據：

創建者 Dávid S

•2017年8月19日

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!

創建者 Oscar R

•2020年8月30日

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.

創建者 张佳乐

•2018年3月25日

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

•2019年9月2日

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.

創建者 Joshua M

•2018年3月6日

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.

創建者 Patrick M

•2020年9月1日

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.

創建者 Achim W

•2020年10月9日

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.

創建者 Katarina C

•2020年9月19日

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.

創建者 Dan P

•2018年2月18日

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

創建者 Bhavya N

•2018年1月25日

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.

創建者 jojoy

•2021年1月17日

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!

創建者 Yuanrui Z

•2018年11月16日

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.

創建者 Fizuli V

•2021年1月11日

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.

創建者 Manuel P

•2016年11月7日

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.

創建者 Brian C

•2016年12月7日

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.

創建者 Visual J

•2017年6月22日

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

創建者 chenxc

•2017年7月28日

Recommend print the ppt then listen to the lecture cuz that would save your time. These homework impresses me deeply, and I did spend a lot of time completing them. Fortunately, I got a not-bad accomplishment at this class. I think everyone would like to have a solid foundation on algorithm as long as s/he study hard in this class. Thanks a lot for providing such a great open class! I love you professors! I love princeton!

創建者 Rohit P

•2017年4月9日

I took this course to refresh my Data Structures and Algorithms knowledge in order to prepare for technical interviews, and I'm glad I did. The lectures are great and the programming assignments are very well designed and have sufficient guidance. You really have to work on them. I would have liked more graded MCQs after lectures. This is also the first MOOC I've completed, and it gives me a great sense of accomplishment!

創建者 Vadim P

•2020年5月16日

Very interesting, I finally started to study seriously and learnt a lot, by using the correct Data Structures (and also learning them), learning sorts, I enjoyed a lot, and found very interesting exercises, I learnt the definition of Binary Heap, how better implement the Priority Queue Data Structure, Binary trees, and very fascinating the way Red Black Tree is implemented, and the technique used to maintain it balanced

創建者 Kat

•2016年10月17日

The grading system is very helpful for debugging

A little suggestion, personally i would not go to the forum unless i meet problems, but actually i find i may missed some great thinking for ignoring it. It would be better if there is a subscription feature like what's trending on the Forum to reminder learners to participate in the discussion.

And i like the every week's interview question, thank you for all your effort!

創建者 Itsik S

•2018年3月28日

A very interesting course, very well taught. The course is carried out in a very methodological way, builds the knowledge gradually step by step. The course is suitable both for those who know the material and want to refresh their knowledge and for those who learn this for the first time.

Finally, I would like to say that it was a privilege as much as it was enjoyable to learn from the great Prof. Robert Sedgewick !

創建者 seshu c

•2019年10月27日

One of the best course, I have taken so far. Learned a lot and its good to learn from computer scientists who can explain the trade offs between different data structures. To be frank, i am a newbie and i don't even have a good understanding of data structures when i started this course. But now, i know how the data structures work and how to use them them effectively.Except that the assignments are a bit tuff!!

創建者 Henrique G

•2017年1月15日

I really enjoyed this course. The material and videos were carefully made and very informative. The assignments were made that you can properly use the content learned from the lessons. The mentor/instructors are very knowledgeable. It goes without saying the instructors are reference in the Algorithms field.

It is worth saying the assignments may require you to research extra resources, e.g. Algorithms 4th book.

創建者 Luoqi W

•2017年12月25日

This course is extremely well-organized and covers the foundational algorithmic concepts in a meticulous fashion. Dr. Sedgewick makes these concepts accessible and easy to grasp. The fact that every concept covered is not just discussed on paper but realized in Java code also adds invaluable practical significance. Needless to say, this should be the course that every aspiring computer scientist should take.

創建者 Mohamed E

•2020年8月6日

A good introduction and review of fundamental concepts in algorithms and data structures. It makes sure that you get the hang of the data structures by making you implement these data structures/use variants of these data structures to solve implement specific applications in assignments. Of course, sometimes details arent explained deeply, but I quite enjoyed the course and would definitely recommend it.

- Finding Purpose & Meaning in Life
- Understanding Medical Research
- Japanese for Beginners
- Introduction to Cloud Computing
- Foundations of Mindfulness
- Fundamentals of Finance
- 機器學習
- 使用 SAS Viya 進行機器學習
- 幸福科學
- Covid-19 Contact Tracing
- 適用於所有人的人工智能課程
- 金融市場
- 心理學導論
- Getting Started with AWS
- International Marketing
- C++
- Predictive Analytics & Data Mining
- UCSD Learning How to Learn
- Michigan Programming for Everybody
- JHU R Programming
- Google CBRS CPI Training

- Natural Language Processing (NLP)
- AI for Medicine
- Good with Words: Writing & Editing
- Infections Disease Modeling
- The Pronounciation of American English
- Software Testing Automation
- 深度學習
- 零基礎 Python 入門
- 數據科學
- 商務基礎
- Excel 辦公技能
- Data Science with Python
- Finance for Everyone
- Communication Skills for Engineers
- Sales Training
- 職業品牌管理職業生涯品牌管理
- Wharton Business Analytics
- Penn Positive Psychology
- Washington Machine Learning
- CalArts Graphic Design

- 專業證書
- MasterTrack 證書
- Google IT 支持
- IBM 數據科學
- Google Cloud Data Engineering
- IBM Applied AI
- Google Cloud Architecture
- IBM Cybersecurity Analyst
- Google IT Automation with Python
- IBM z/OS Mainframe Practitioner
- UCI Applied Project Management
- Instructional Design Certificate
- Construction Engineering and Management Certificate
- Big Data Certificate
- Machine Learning for Analytics Certificate
- Innovation Management & Entrepreneurship Certificate
- Sustainabaility and Development Certificate
- Social Work Certificate
- AI and Machine Learning Certificate

- Computer Science Degrees
- Business Degrees
- 公共衛生學位
- Data Science Degrees
- 學士學位
- 計算機科學學士
- MS Electrical Engineering
- Bachelor Completion Degree
- MS Management
- MS Computer Science
- MPH
- Accounting Master's Degree
- MCIT
- MBA Online
- 數據科學應用碩士
- Global MBA
- Master's of Innovation & Entrepreneurship
- MCS Data Science
- Master's in Computer Science
- 公共健康碩士