Algorithms, Part II

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from Princeton University.

Offered by Princeton University. This course covers the essential information that every serious programmer needs to know about algorithms ... Enroll for free.

Reddsera may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Coursera. Thank you for using these buttons to support Reddsera.

Taught by
Robert Sedgewick
William O. Baker *39 Professor of Computer Science
and 1 more instructor

Offered by
Princeton University

Reddit Posts and Comments

0 posts • 611 mentions • top 50 shown below

r/cscareerquestions • post
437 points • ThatTurmoil
[Re-upload] I've compiled a list of free online Data Structure and Algorithm courses.

Earlier today I posted a similar thread that was removed, "It [was] inappropriate for [this] subreddit"

I've have received several messages in my inbox today from people asking what happened to the post and requesting specific links. Due to the amount of requests I have decided to re-upload the list. If this thread gets removed I will not be re-uploading this list. Therefore, I suggest saving or bookmarking the course websites below.

Additional thanks to u/slayersource for the following link:

  • UPenn edX: 4 Course Series covers basics, data structures, algorithms, and JavaScript

Apparently there is also a compiled list on github of all the available courses online on Data Structures & Algorithms, thanks to u/baltimore for finding this:


r/algorithms • comment
31 points • DirdCS

r/learnprogramming • comment
30 points • miraclestyle

It prepares you a lot. That's a Princenton University course, presented by no one else but Robert Sedgewick, the prominent Computer Scientist credited for inventing Left-Leaning Red Black Binary Search Tree (among other contributions), and professor at the university. The course's assignments are hard. The overall content quality is exceptional, with so many quality tools tailored for online learning. There's the second part of the course (, which is even more challenging. And it's free! Skiena's youtube course ( is also excellent.

r/learnprogramming • post
222 points • Lechickensoul
I'm 34 and I got my first programming job after about a year of self learning! Here are my main resources

Hello! I'm here to thank this community for the great time and the inspiration it gave in the last months of hardworking. Also, to share some of my humble tips. Feel free to msg and ask for any help. I'm working as a front end developer after a year and a few months trying to learn by myself webdev. I had more details about my personal journey on this freecodecamp post:

Here's a list of online resources that helped me along my journey through the zero webdev to employeed-TI-guy For frontenders, most of it...

  • freeCodeCamp: My focus was the fron-end since ever, so I did the front end course(the data visualization is great too but I didnt had the time for it). Ive always had the intention to lear a new tecnologie/technique for every new project. Dont do it just for the certificate! Learn SASS on the next project, try to use javascript promises the next time you use Ajax, use github to share yout project! Keep evolving in each new task. Also, try to build a nice personal portfolio website here.

  • Reddit: Check the r/learnprogramming/ tips, course links, words of inspiration, tons of resources there, subscribe! Look for development section like webdev, javascript, programming humor. Keep up with the community.

  • Online courses:

  • Free: 1- Udacity have a great Git course: If you are new around the computer science world dont forget to grab some basics of data structure, algorithms and some logic at Havard

    2 - More data Structure at Coursera! This is a pretty tough one, be prepared. The language is Java but dont worry, the trees, liked list and the other stuffs are the same for every language - and

    3 - Wes Bos course is just amazing for its day to day usability and the good code in it

  • Cheap: Go for the Udemy discount coupons(a quick search on google will do) and get some of the best online courses for 15 bucks or less

    1 - Antony Alicea( is amazing at teaching Javascript for begginers, intermediates or anyone who wants to learn some concepts in deep: JavaScript: Understanding the Weird Parts. Just buy it. 2 - An overview of everything in one course: 3 - If youre into framworks go for Stephen Grider( React courses or Maximilian Schwarzmüller( Vue courses(tons of videos on Youtube too)

  • Expensive: Nope. I'm just too broken

  • Youtube Channels:

  • Daniel Shiffman's Code Train(former Rainbow-Code) -
  • Sarah Drasner is all over Youtube teaching the SVG art
  • MPJ's Funfunfunction -
  • Look Lea Verou CSS expert talks
  • Travis Neilson's DevTips -

  • Sites:

  • of course lol

  • Podcasts:


I hope you find something useful. Just let me know if guys need any help! Thanks!

r/Romania • comment
8 points • RockerJegos

Am sa iti recomand Algorithms, Part1 si Algorithms, Part2. Sunt explicate fenomenal de bine si poti pune intrebari prin intermediul forumului (sunt sanse mari ca intrebarea ta sa fie raspunsa deja). Cursurile sunt 'predate' de Robert Sedgewick, un om cu greutate in algoritmica.

O carte pe care as recomanda-o oricui vrea sa se apuce de programare este 'Donald Knuth - The Art of Computer Programming', gasesti in ea algoritmii disecati si explicati.

r/learnprogramming • comment
8 points • P_E_B_K_A_C

Part 1 and part 2 of this free Coursera course by Princeton.

r/computerscience • comment
7 points • pingus3233

r/programming • comment
10 points • qna1

Just want to that there are a few courses that are completely free still, the ones I am /have taking are Bitcoin and Cryptocurrency Technologies, Algorithms, Part I, and Algorithms, Part II, all of which are from Princeton University.

r/learnprogramming • comment
9 points • desrtfx

DS&A (Data Structures and Algorithms) are vital to programming.

> What is a good place to learn them.

That question is not that easy to answer without knowing the programming language(s) you know.

For Java, there is "Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University

r/OMSCS • post
39 points • ChuckStrange
Algorithms courses - prep for Graduate Algorithms

There are some good online algorithms that explore algorithms, including graphs (Coursera - Stanford and Princeton algorithms courses). They are good courses, and you can download the slides for offline reading - I recommend them when you have spare time.

The Princeton course has two parts:

The Stanford algorithms specialization has four courses:

r/learnjava • comment
7 points • RexTheWriter

r/Purdue • comment
4 points • ZhunCn

When I took CS 251 during Fall 2018, a lot of the material was taken from the following free online courses:

r/Purdue • comment
6 points • Arothwell

I used this to help prepare for the last midterm it is taught by the textbook writers:

I used this site to better understand the data structures in the project

r/learnprogramming • comment
8 points • work_account_2019

I found the Algorithm courses (Algorithms I & Algorithms II) on Coursera by Princeton University to be an excellent resource for learning data structures. All the data structures are introduced gradually and the assignments ensure that one completely understands how and when to use that particular data structure. The entire course is in java. I tried various resources for learning Data Structures and Algorithms. This is hands down the best resource for a Java beginner.


r/learnjava • comment
3 points • PecaR97
r/leetcode • comment
1 points • Karthi_wolf

Week 4 of the coursera Algorithms 2 course from Princeton. The accompanying book is also really good. Here's the link to the course.

r/OMSCS • comment
1 points • MedicalBonus

Yeah, I'm thinking this is going to be my approach if I don't find a suitable alternative. Just curious, would you mind providing any of the resources you used besides the one mentioned? I've heard good things about the Algorithms II taught by Dr. Sedgewick, but the more information I have the better haha.

r/learnprogramming • comment
7 points • DazzlingDifficulty70
r/gmu • comment
5 points • techwizrd

I'd say it's more difficult than CS 330 and the workload is significantly higher. CS 330, however, had less online resources to refer to. For CS 483, there are tons of YouTube videos that can help you understand a specific concept or algorithm. Additionally, CS 330 had a couple projects but CS 483 is more homework focused (at least when I took it with Nordstrom and with Kosecka).

I'd suggest studying a bit during the summer. Princeton has some good courses on Algorithms (Part I , Part II) and Analysis of Algorithms. If you study a bit over the summer, you can hit the ground running and have one less thing to worry about come Fall.

r/learnprogramming • comment
3 points • bruce3434

It is highly suggested that the mothers should listen to one of the many data structures and algorithm courses (I suggest that of Sedegwick) so children are exposed to elementary programming before birth. It's also a requirement that the mother learns the C++ programming language before carrying children (C++17 idioms are highly important).

Now for age 0-5, I strongly recommend the Haskell programming language. I think this book is more friendly for children, if you look at the book cover, it has a cool looking elephant drawn too. I think the children will be instantly drawn to the book. From my experience, the most effective strategy is to introduce the babies to LiquidHaskell within a few minutes so they learn how to enforce correctness properties and prove laws just by writing code.

For age between 6-14, I would like to recommend something a bit more advanced. I recommend the Rust programming language. I would recommend it for age 0 - 5 but learning how to deal with the borrow checker takes ~5 years on average for an individual. But it's worth the wait :)

At this, the new generation will grow up with approximately 300 ± 5 level IQ with the mean probability of 0.87. Everyone will be able to solve the NP complete problems without even writing and compiling a line of code.

r/learnprogramming • comment
6 points • RedPandaBearCat

Princeton's online course on Coursera's platform is the best:

Algorithms by Robert Sedgewick and Kevin Wayne.

Algorithms, Part I -- by Robert Sedgewick and Kevin Wayne.

Algorithms, Part II

The corresponding textbook is:

Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

Its site:


After that, you could also study & use the classic CLRS book:

Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

r/cscareerquestions • comment
10 points • digitizemd

I'll be extremely honest: you're either a troll, an ass or an idiot.

u/ssswerbsss, making a transition to a software developer without a formal education will take a significant amount of time and work on your part, but there's plenty of posts on this sub of people detailing how they did it. I think coursera is a great resource, but definitely check out MIT's OpenCourseWare; it's really fantastic. And my favorite coursera courses are and I think the hardest part to starting out is figuring out what the hell you should be learning. I think finding a computer science curriculum (, I haven't actually reviewed this) is a good start before trying to pick up frameworks for building web apps (which is probably the most popular domain right now, versus, say, embedded development).

As for the age part (another reason wolfz18 can go fuck themselves), I basically changed careers around the same time. I already had a degree in english lit and I got a job in a state university system and went back to school when I was 27 for a degree in computer science while working full time. I finished when I turned 30 and have been a developer for four years now and it's been totally worth it except the constant stress of being a developer.

If you're willing to work hard, be patient and have some good luck, you'll be able to transition. I guess living in or near a decent sized city is helpful, too. I live in D.C. so there are plenty of opportunities.

r/learnprogramming • comment
8 points • aqua_regis

MOOC Java Programming from the University of Helsinki.

After that, some practice, then, "Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University

Followed by more practice and then look into Design patterns - as a starter:

r/cscareerquestions • comment
7 points • [deleted]

I'm in the same situation. Completely forgot most of my DS&A course other than basic ideas/operations. I beat my head on about 50 easy/medium Leetcode problems before coming to the conclusion that I just did not have the proper base anymore. I would watch question solving videos on youtube but it still did not feel good.


So I went back and watched some college courses. The ones by Marty Stepp teaching at Stanford are pretty good, especially for recursion.


For data structures, I am finding Robert Sedgewick's Coursera course from Princeton to be really good. I'm finishing up Part 2 now. I skip the assignments but implement the data structures in another language. I feel so much more prepared for Leetcode after this.


There is also an MIT course that is often recommended here but I did not find it useful. It was too abstract for me. I need a crash course and to see some code behind the algorithms.

r/webdev • comment
3 points • tortoise888

As a self-taught dev I did several DS&A courses and the best ones were MIT Open Courseware Introduction to Algorithms and Princeton's Algorithms course on Coursera. Both are totally free. After I did those I just did all the Leetcode Easy/Mediums in the Explore track and that was enough to pass 90% of my interviews.

I also did InterviewCake and while it's nice I don't think it was worth the price tag and had a lot of overlap with the previous mentioned courses.

r/learnprogramming • comment
9 points • my_password_is______

for $599 ??

hell no

you can read this for free

you can do this coursera course for $49 a month

this two look free

this edx course is $99



and you've got this fantastic site which shows A*, graphs and pathfinding

r/csharp • comment
8 points • bhrgunatha

My preference is for Tim Roughgarden's Courses on Stanford's Lagunita platform.

He covers the theoretical foundations and takes a step by step approach to proving why algorithms work and how to analyse them as well as covering several different paradigms with examples to demonstrate the approach. There are exercises to test your understanding with practical exercises too; you're provided an input file and have to give the correct answer so you can use whatever language you want to implement the algorithm. I think these are the gold standard introduction to algorithm/data structure courses.

Many people also like Robert Sedgewick and Kevin Wayne's Coursera courses

You must use Java for their exercises. You can enrol free by auditing the course, but I think you need to pay to get feedback and take part in the exercises. I took these on Coursera's original platform where it was all free including exercises.

Supplemental reading. You usually see the same books recommended when asking about algorithms:

  • Introduction to Algorithms. Cormen, Leiserson, Rivest, Stein or CLRS. This is the "bible" - very rigorous and academic but there's a reason it's the top rated algorithms book.
  • Algorithm Desgin. Tardos and Kleinberg. Still academic but a bit more approachable than CLRS.
  • Algorithms. Sedgewick & Wayne - the companion to their Coursera courses - the website has a wealth of detail and supplemental information, well worth checking out.
  • The Algorithm Design Manual. Steve Skiena. A much more practical approach to designing and using algorithms often praised for the "war stories" included where he illustrates the algorithms with real world situations that they help with.

r/OMSCS • comment
1 points • aProspectiveStudent

> Coursera Algos course by Tim Roughgarden

That one or Sedgewick's. Both would be great.

r/leetcode • comment
1 points • shrutie

So, before you start Leetcode or any other platform for practicing DS questions, go through these and you'll be rocking the questions.

r/cs50 • comment
1 points • daftjustice164

Princeton's Algorithms and Data Structures (Part 1 Part 2) is one of the best ones

r/learnprogramming • comment
1 points • koderpat

There are some online courses available that can give you some exposure. They come with video lessons and coding assignments that are graded electronically:

I went through the princeton courses when I was practicing for the Java position I am in currently.

r/wgu_devs • comment
1 points • aburthinds

If you have an itching for a course like that— Princeton has two free algos courses on coursera

Very well done.

r/learnprogramming • comment
1 points • CodeTinkerer

Princeton (through Udacity) has a two-part course


r/learnprogramming • comment
2 points • julschong

Listen to how to program with java podcast

Build small projects and then try full stack projects

r/learnprogramming • comment
3 points • kinaetron
r/compsci • comment
1 points • churumegories


I took those myself and really learned a lot.

r/cscareerquestions • comment
1 points • keanwood

Almost everyone can do leetcode.


  3. Start doing leetcode problems. If after 10 minutes you have no idea how to solve the problem, look up the answer. Draw the answer. Code the answer. Repeat step 3.

r/computerscience • comment
2 points • hekmatof

This two part course from Robert Sedgewick is really worthy. His use of visualization and animation for describing algorithm is really helpful to understand them.

Note: He uses Java to implement algorithm

r/learnprogramming • comment
2 points • Intiago

Check out this course that gets recommended all the time.

Robert Sedgewick and Kevin Wayne - Algorithms in Java - Princeton University - on Coursera

r/learnprogramming • comment
3 points • mopslik

Either Introduction to Algorithms (CLRS) or Algorithms (S&W) are excellent English books, but if your math is rusty, they can be quite dense at first. Note that for the latter, there are two free Coursera courses for Algorithms, Part 1 and Part 2.

r/learnprogramming • comment
1 points • MC_Raw

I have these 2 planned for learning DSA (with Java)

r/java • comment
2 points • CheesecakeDK

There is a (free) 2 part course on Coursera for algorithms and data structures which is quite good.

r/cscareerquestions • comment
2 points • Significant-Yak-4365

  1. Nobody knows.
  2. I only have experience in big tech companies so I can only offer advice based on that. Broadly speaking your sister would need to focus on 2 things - project work (to get interviews) and algorithms (to clear interviews).
  3. Your sister has some time so I would encourage her to do something she is interested in and get it 'out there' even if it is a simple website having a live one that has been deployed and is available for people to use is much better than a dead one that is rotting on github. You have tutorials for everything these days and cloud service providers like AWS have a free tier available so just encourage her to explore.
  4. For interview prep, she needs to know one language and she needs to know it well. I am into competitive programming and the recommended language for that is C++ however if this is not something she would be interested in python is great. It is practically pseudocode so it is easy to pick up and understand. Once she knows basic programming I would recommend this course for data structures and after that this and this for algorithms. Once she is done with that she can start doing problems on leetcode. If this interests her then she can get into things like competitive programming.

r/java • comment
2 points • gavenkoa

Famous & won't hurt and prepare you to the industry & interview.

r/cscareerquestions • comment
1 points • _DreadLockRasta

I 100% reccomend princeton's algorithms courses on coursera. Its two parts and go from fundamental data structures like arrays and lists to graphs, string manipulation, regex etc. The only thing it does not have is dynamic programming. They also have a book which is pretty in depth in my opinion. Then they have an online book that has all the code that they used. Its all in Java as well. I think this is good because you actually learn how to make these structures/algorithms from scratch along. And its free :) , links below. I reccomend learning a topic then instead of doing the assignment , just go on leetcode and practice problems with that topic. Then move on after youre comfortable with that topic. Once you learn how to make it from scratch use the standard library's version for leetcode questions.

r/rutgers • comment
1 points • LexDMC

Check out Princeton's Algorithms 1 & 2:


While they're called Algorithms, they're the equivalent of the regular Data Structures course offered at most schools.

r/OMSCS • comment
3 points • dv_omscs

If you are are unfamiliar with trees and BFS, you are unfamiliar with graphs, which means you have not studied basic algorithms. Since you are already in, I'd suggest doing


in parallel with your coursework at GT (or this semester if you end up with W in KBAI).They are MOOCs, but they are very, very serious courses (if you take them seriously) and you may need supplemental materials or more than one attempt; but they cover pretty much all basic algorithms topics that everyone expects you to know in CS world (not only in OMSCS) , they are of excellent quality, and they are free/cheap.

r/OMSCS • comment
1 points • bkantiques

Thanks, that is good to know! Just to make sure I’m looking at the right thing, Sedgewick’s course is the two parts here: part 1 and part 2 and Roughgarden’s is the 4 parts here?

Do you think together these would be solid preparation for GA?

r/OSUOnlineCS • comment
1 points • blackrazor5


Note: I am not an OSU post bacc student but someone whom I am guiding in the field is doing this program so I spend some time here occasionally.

A little context about me: I have a CS bachelors and masters degree and work in the Silicon Valley at one of the top three companies. I have done a lot of interviews in last 3-5 years of my professional career and almost with every top 10 companies you can think of. Cracked few and failed few.

Here are my 2 cents: - Software interviews are just about practice. The more you practice the better you will get at it. It does not map 1:1 with what you study in your degree. Although, having a strong understanding of DS and Algos will help you to understand and solve problems quickly and see patterns in questions.

  • Interviews also need a fair amount of luck. You can prepare as much as you want but you need some luck for different aspect since interview questions and decision making is not a binary equation. Needless to say, you become more lucky with more practice. So, if you fail 10, 20, 30 interviews don't worry about it just keep practice and keep interviewing you just need one job and there are thousands out there so the numbers are in your favor.

  • If you want video series then Algorithms I and Algorithms II offered by Princeton University on Coursera is a really solid class.

  • Algorithms Design Manual is a really good book to read for Interviews. This is the book which will be recommended to you by many top companies like Google, Fb, Twitter, LinkedIn etc when they will send you as interview preparation notes after scheduling interviews. (Sorry, I don't remember which exact companies do.)

  • Cracking the Coding Interview and Elements of Programming Interview are the best book for preparing for interview questions. Pick one and stick to it and do as many questions as you can. Note: CTCI has fewer problems and is generally easier than EPI hence its better for someone doing interview preparation for the first time but if you want to cover all the grounds then EPI is better.

  • Everything aside, nothing can beat Leetcode. This is hands down the best thing you can do to prepare for interviews. Practice as many problems as you can here and you will definitely crack a lot of interviews.

Also, the above advice is mostly for software engineering/development interviews for web development you might have to cover other stuff like different frameworks, portfolio etc. I am a core backend engineer so I have very little idea about that. Hope this helps! Cheers.