Algorithms, Part I

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
Kevin Wayne
Phillip Y. Goldman '86 Senior Lecturer
and 1 more instructor

Offered by
Princeton University

Reddit Posts and Comments

6 posts • 1260 mentions • top 50 shown below

r/learnprogramming • comment
79 points • draxxus1549

I took this before interviewing for my first software engineering role, highly recommend it.

r/webdev • post
271 points • xerxes3117
Best path to learn data structures and algorithms as a beginner

Apologies if this has been asked a lot of times but i wanted some advice in my particular situation.

I'm trying to learn back end web development, starting with Go as my first language (no experience with back-end so far). I've been really enjoying it so far but just like concepts of back-end i am also totally new to concepts like data structures, algorithms etc.

What would be a good path for me to learn these? I explored the sub-reddit and found a lot of suggestions like:

Algorithms, Part I | Coursera

Lecture Videos | Introduction to Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare

But i'm really confused which one to choose because this is the first time i'm learning these concepts and I need to also learn about different data structures, big o notation etc. from the beginning. Also a lot these require knowledge of Java.

Could someone help me with this? Also, is there any other better path that I can follow as a beginner?

Note: If it's of any use, I currently have 1 year of experience with front end development in JS, Angular.

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/cscareerquestions • post
70 points • deskwebs
How do I spend summer productively so that I'll be ready for interviews / become a better programmer?

Hi guys, I'm planning to learn full stack web developing during the summer. (just to touch on it, not going to go crazy on it. Just a little side project on the side, get exposed to javascript, etc.)

Aside from that, what can I do to spend the summer productively? My goal is to eventually get into a BIG4 company, but ultimately be knowledgeable enough to differentiate between an inefficient code and an efficient code, be confident in whiteboard coding.

I have some candidates to show you guys:

Competitive Programmer's Handbook

Algorithms I from Coursera

Master Algorithmic Programming Techniques

Other books I've considered are Clean Code and CTCI - but those I will be doing over slowly for the next year or year and a half.

There was a data structures / algorithm course that used C++ in coursera but that seems to be gone =(

I'm mainly going to concentrate on C++ and Java because these are languages that I'm most exposed to and I will be using it for the courses in upcoming Fall semester.

My level of programming is in between beginner and an intermediate.

tl;dr: level of programming = between beginner and intermediate, trying to get into BIG4, perform well in interviews and become a better programmer. What do you recommend I do?

I know it is a lot to ask only within 2 months and a half (about), I'm just trying to get to the intermediate level with decent knowledge of data structures and algorithms.

Recommendations welcome, thanks in advance!

r/computerscience • post
68 points • Nottherealaron
Can we get a online course recommendation thread going?

Hi, since there are a lot of great free online courses, which in many cases are much better than what they teach at your university I thought it would be nice to get some recommendations.

So what online courses are you currently doing? Which are on your to do list? And which do you recommend?

I just started Algorithms Part 1 by Princeton University to prepare for the algorithms course I'm taking in fall.

I just finished part one of Object-Oriented programming with Java by University of Helsinki, good course, I would definitely recommend it if you're getting in to coding or are about to start your first year at uni.

I also just finished Elements of AI by University of Helsinki. It's a bit high level and I already knew a lot of what they talked about, but if you're not familiar with AI it could be a fun intro to Artificial Intelligence.

Machine learning by Andrew Ng

I haven't done this course yet, but a few friends have recommended and it's on my to do list.

r/datascience • comment
33 points • Acanthisitta_Head

Do you need to do weights to train for a half marathon? Probably not. Do competitive runners cross train? Ya.

Data science is a range of skills, as is "real" programming. There are "data scientists" out there that use a combination of SQL, BI, and even no code tools and are very successful. As you'll read many times, a people-oriented data scientist with a bar chart can do more good in more organizations than any amount of ML.

But a lot of the concepts track between the two. For instance, just take SQL; a clustered index is a B-tree, and understanding the time complexity of insertions and retrievals makes you get your data faster.

If you're curious already, go take a MIT or Princeton open course like this one, watch the lectures at 1.5x speed, do the projects that sound fun. At least it'll open you up to understanding the jokes in r/ProgrammerHumor

r/algorithms • comment
31 points • DirdCS

r/csMajors • comment
14 points • 3Erots

Better yet, those same videos are all available on Coursera for free. You can enroll, watch the videos, and take advantage of the course material that comes along with it.

r/learnprogramming • comment
14 points • CodeTinkerer

> I don't have any formal training in algorithms and data structures.

Maybe try something more formal.

CS majors often take 1-2 semesters of data structures an algorithms. Again, there's a difference between learning the stuff and being able to think quickly in an interview, but it should provide a foundation.

r/learnprogramming • comment
11 points • Ativerc

How committed are you? Because I'm starting algorithms too. I would love to team up.

BTW Do you have any good sources for Algorithms' MOOCs which use Python?

I'm thinking of starting (This starts on June 11) and I can handle it if they teach through Java but the worst thing is they accept programming assignments in Java only.

I will use Khanacademy and Commonlounge for reference.

r/developersIndia • comment
23 points • eternalfool

If you don't understand why they did a certain thing that means your fundamentals are not clear. Make sure your fundamentals are clear
Try solving the easier questions before going for medium/hard.

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/aws • comment
10 points • p33k4y

I started with sites like HackerRank, LeetCode, etc. but ended up making my own exercises.

  • I followed Robert Sedgewick Algorithms class on Coursera, bought the corresponding book, and for most of the algorithms I took time to actually implement them. It's been decades since I last took an algorithms class so I really needed a refresher.
  • I made a fairly large side project (using Spring Boot since I'm from the Java world) and forced myself to do end-to-end implementation of many microservices, creating a full CI/CD pipeline, dockerizing everything, setting up the entire infrastructure (dev to prod) on AWS, etc. Again I found that I needed the refresher.
  • I thought areas where I'm weak and worked on them. For me one weak area was on automated testing / TDD, so I strived to improve on this.

Like many I also bought the "Cracking the Coding Interview" book. I initially planned to do (implement) the exercises there but since I ran out of time, I mostly just read through each the Medium and Hard problem descriptions, spent a few minutes thinking how I might solve them, and then read the book's solution to see if I was on the right track.

r/learnprogramming • comment
10 points • hitherto_insignia


r/ASU • comment
9 points • ClashRoyaleTourney

ASU courses are pathetically easy compared to the schools you mentioned above. For example, take a look at this course made by Princeton. This would be an intro level course at any top school but a 300+ level course at ASU. In fact, I don't even remember covering some of the topics in the syllabus of this course. If you want to be competitive, you need to learn a lot on your own. CS was not meant to be easy and ASU should stop catering to the people who frankly should have no business studying CS

r/cs50 • post
8 points • cs50questions
More advanced algorithms & data structure courses after CS50?

Hey everyone! CS50 was a complete game changer for me. I particularly loved that its foundation was in C.

I've checked the archives for this question but didn't find anything from the past 12 months. It's 2017 now... does anyone have good recommendations for (preferably free) follow-up courses on more advanced algorithms and data structures?

I'm currently signed up for the next round of Princeton's algorithms course on Coursera but it's completely in Java. Is there anything that, like CS50, is in C? Or does anyone with experience know whether or not the Java requirement for Princeton's course is an issue if you don't know any Java at all (outside of what it naturally shares with a language like C)?

Thanks for any input you might have!

r/learnprogramming • comment
8 points • EmptyRub
r/cscareerquestions • comment
7 points • Heizenbrg

I started yesterday with the very recommended Course from Princeton Algorithms course but need to learn Java first, so essentially learn Java + course + start easy leetcode. And I want to be proficient by early next year, I’m thinking of setting a goal of 2hrs minimum 7 days a week?

r/cscareerquestions • comment
7 points • damnburglar

I’m very interested in this as well.

I know that the coursera courses on algorithms from...Princeton, I believe (with Sedgewick) are de facto. Beyond that I haven’t looked too far.

Edit: Here it is :)

r/learnprogramming • post
14 points • Alphendo
Forming study group for Coursera Princeton Algorithms

Hey guys, I'm going to be attempting this online course, which starts on June 12 and runs for 6 weeks. (June 12 - July 30). I've tried once before to do this course but I quickly lost motivation and stopped in the first week. If any one else has had some interest in learning algorithms, we could form a study group to go over the lessons/homework, and also hold one another accountable. If there is any interest we could form a slack group or something else and see how it goes! Algorithms are important, not only will they make you a better programmer/more analytical overall, they are frequently asked about in technical interviews. Cheers! Quick Edit: Forgot to mention, the class is in Java! I mainly program in JavaScript, so if you're not too comfortable with Java, it's okay we will be in the same boat.

Discord Group I hope it's okay that its in discord, slack didn't have an option to send out a link for anyone to join, you had to send out individual invites through email which is a pain.

Updated the discord link Sorry about that I didn't refresh the link so it just used its default should be good now!

r/udub • comment
20 points • gobbledygoop

You shouldn't openly trivialize other people's struggles with a subject. And you should provide resources to those online videos and books. I would recommend these two Coursera classes

as well as the free Python data structures book

r/learnprogramming • post
5 points • vodico
Online Algorithms course with C++ or C as base language?


I am looking for an online course (preferably hosted on Coursera or edX) which teaches Algorithms and Data Structures with C++ or C as the base language. I enrolled in this Algorithms I course but it teaches with Java.

Any recommendation would be appreciated.

r/UIUC • comment
5 points • cheekyyucker

people who have taken higher level algorithms courses might tell you not to, because they are not cognizant enough to realize that they had the context to work through problems even if they didn't first get it. Just a heads up on the type of responses you might get on reddit

my personal advice: do problems through an actual algorithms course like this one:

or a similar course that caters to your language of choice. This way, the likelihood of needing to look up the answers is slim, because you'll actually have the context prior to attempting the problem. Otherwise, you're just spending time reinventing the wheel in your head with the poor guide of leetcode solutions.

r/india • comment
4 points • udi_baaba

You have to go to each individual course and click on audit this course or something similar. This one by Tim is more theoretical and covers no code or programming language. It is well structured but at the end you will definitely improve your problem solving skills.

The other course by Princeton is in Java. If you want to code along or want to understand implementation better you can enroll in this.

I'd recommend doing both because this would vastly change your outlook from programs being syntax to problem solving tools.

r/computerscience • comment
4 points • MirrorLake

Sedgewick also has recorded lectures that pair with that book, too, through his Coursera course.

r/learnjava • post
4 points • suzytmohanty
Will you recommend a newbie programmer to learn Core Java & SQL in parallel?

I am currently taking University of Helsinki's Java Course ( and at Week #2 right now.

I wanted to start learning SQL from sqlzoo, but bearing in mind the fact that java is my first programming language (even though I am CS grad), I am in a dilemma whether I should take the plunge or not.

I am really looking at getting the most out of my 3 months learning time before I start applying for jobs. I am open to any alternative suggestions you might have.

Also can anybody tell me how many weeks into this course can I start learning Algorithms & data structures from this Coursera MOOC by Princeton University?

r/learnprogramming • comment
8 points • P_E_B_K_A_C

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

r/learnprogramming • post
8 points • runner2012
Anyone know why is Coursera's Algorihtms part II not accessible?


I'm almost done with Algorithms part I and I am wanting to continue with Algorithms part II, but the course is greyed out.

Anybody knows what's going on? Also, anybody knows of an Algorithms class as good and in depth as this one? Especially in Java or Python.


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
32 points • whatevernuke

Wasn't this one, was it? :

I've seen it posted here a few times.

Also, might be worth a look.

Specifically for Data Structures & Algorithms, since that's what I've been looking for recently: - Seems to be the most generally well regarded I've seen. - Not sure about this one, but I think I've seen it praised a few times.

Hope that's useful.

r/learnprogramming • comment
3 points • NeoStarSky97

This algorithms course, by the authors of the best Algorithms textbook out there, Robert Sedgewick and Kevin Wayne. This requires a bit of mind stretching, and will take a fair bit of time to get through, but is totally worth it.

PS: You need to have your programming basics thorough with, and the course is primarily taught in Java.

r/computerscience • comment
7 points • pingus3233

r/computerscience • comment
3 points • Mad_King

I am highly recommending this course; it is superb and it is free.

r/UWMadison • post
3 points • rm711
Skipping CS 400

Due to unresolvable scheduling conflicts in the fall, I'm looking to get into CS577 (Intro to Algos) directly and skipping CS400 by self-learning it over the summer. I did this with CS200 by showing the CS advisors some of my previous work in Java. Does anyone have any recommendations on how one could do the same here? I've looked into a relevant Coursera course that looks like it covers roughly the same topics, but I'm not sure how I'd go about proving that since it offers no completion certificate. Thoughts?

r/cscareerquestions • comment
3 points • Wiggin028

If you're willing to do the work, I highly recommend the Princeton University Algorithms, Part I class on Coursera.

I used this class to supplement my universities DS and algorithm classes and could not have spent my time better.

It's a free class, and each weeks material is short enough that you can cover it in your spare time. The projects can take a bit of work, but in your situation I'd skip these and instead practice problems in CTCI as you cover each section.

The next class (self-paced, and you can work ahead) starts today if you were interested.

r/programming • post
3 points • One_Pea
Choosing a Data Structures and Algorithms Course
r/learnprogramming • comment
3 points • qna1

A quick search of this sub, for algorithms classes will overwhelmingly show that the Coursera course, by Princeton University is the highest recommendation, with good reason. Yes, this has been recommended in this thread, but I am perplexed why the youtube lectures are recommended over the direct source, which most importantly has very very challenging assignments, along with interview questions that help to reinforce what you have learned, along with a wealth of other resources, I am currently on week 3, and would like a parter to collab on the assignments on if you are available.

r/computerscience • comment
3 points • arkhitekton

S/he might've meant this:

r/learnprogramming • comment
3 points • JavaMoocfiCS50Androi

It may be worth checking out this [algorithms course by princeton] ( It's free, 2 parts, and is recommended quite often on this sub.

r/apple • comment
11 points • ViditM15

I would highly recommend that you take Harvard's CS50 course first which is a phenomenal introduction to the world of computer science:

Then, learn the basics of a beginner friendly language like Python from here: (Don't worry, its "the hard way" because the author strictly wants you to code along with each and all of his lessons so that you do not just read it like a story book and learn nothing in the end).

Then, when you've familiarized yourself with language basics, do a algorithms and data structures course (I'd highly recommend this one by Princeton:

This will make you proficent enough so start out with a starter project (keep checking /r/beginnerprojects/ if you can't come up with your own) and learn along the way from then on.

Hope this helps you get a kickstart!

r/cs50 • post
22 points • idol2k
Investment banker completes CS50: new destination? + thank you staff!

Dear all,

Last week, I’ve finally completed all the problem sets! It was a bit of a struggle (although an extremely pleasant one!) since my investment banking job means I had at most 2 days to focus on CS50 (I usually work entire weekends too, logging 80-100 hours per week). Might sound trivial but I feel very pleased to have completed the course in these circumstances and without CS background.

I also wanted to thank CS50 staff! Your enthusiasm is absolutely inspiring, and I felt touched despite not being on H/Y campus. Tremendous thanks for your continuous efforts in making computer science available to all!

With my eyes set on the final project, I decided to do a few more side courses, go through a few books / tutorials before I actually start building it because much deeper fundamental knowledge will be required. I realise how terribly little I know at the moment but one area that really stands out is - JavaScript; I found it very cryptic and any resources in this area would be very welcome.

At university, I did one of the best economics degrees in the world so I am familiar with linear algebra, calculus and statistics - feel free to recommend more mathematically rigorous courses.

Personally, the most obvious candidates for me are: 1. MITx Introduction to Computer Science and Programming Using Python 2. as recommended by David J. Malan himself 3.! 4. 5. (this is intermediate, what could should I take to learn basics first – CS50 won’t suffice, I guess?) 6.

Courses, books, blogs are all welcome.

Many thanks and happy coding!

r/learnprogramming • comment
6 points • akame_21

Despite their age, the MIT lectures were great. If you're good at math and enjoy proofs this is the class for you. Same thing with the CLRS book. One of the best books on DS & Algos out there, but it's so dense it'll make your eyes glaze over, unless you love proofs and highly technical reading.

To get your feet wet, Grokking Algorithms is a good book.

A lot of people recommend Princeton's Algorithm Course. I took Algorithms in school already, but I'm probably going to take this course to round out my knowledge.

r/learnjava • comment
6 points • monsieurlazarus

This course session is started today.

This is the often recommended Algorithm and Data Structures course in this sub. Better to start the course right away since the material is quite packed and the assignments take some time to finish.

The companion website

Maybe you'll also want to grab the book.

r/cscareerquestions • comment
9 points • JohnGaltAWALT


I have completed 300 applications since the very beginning of May. I used AirTable to track the status of them.

The result has been 6 on sites -> 4 offers.

I did this 7 days per week without taking any days off. I made this my mission. No excuses. I am not a victim. I own the outcome.

My daily schedule:

  1. I would schedule any of my calls or screens for the morning
  2. The rest of my "workday" would be watching lectures from these three sources: Skiena, Sedgewick, MIT 6.006
  3. and then doing 2-4 leetcode questions from the lecture material per day

The result is I passed every code-screen, HackerRank, take-home project, phone technical screen, etc. except one (some timed multiple choice quiz from Bolt).

If I decided to take an initial call, I would end up converting it to an on site interview. Sometimes, after applying, I would get an email from a company and then ultimately decide based on Glassdoor or their product that I wasn't interested.

I completed over 150 leetcode questions (using Python3). It has improved the way I think. It has improved the way I write code. I'm glad I did all of this.

I filled 2 Rhodia notebooks from those three lecture playlists--I actually sat and took notes while pausing and replaying each video as needed.

If anyone would like tips or suggestions, I am happy to help as being in the "job hunt" is all I've been doing for almost three months. DM me.

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/WGU_CompSci • post
35 points • Aleriya
WGU CS Free Study Resources

I'm putting together a list of free resources for WGU CS students, especially for those looking to study ahead before starting the program. Please let me know if you'd recommend any resources to add to the list.

Calc 1

Discrete Math 1

Data Structures and Algorithms

Software 1-2 (Java)


Computer Architecture

r/cscareerquestions • comment
2 points • csblows7

Just reread the top post recommendations on how to pass interviews around here - I promise you, there are no better resources catered to you specifically.

Algorithm Design Manual by Skiena - Great read

CLRS by Cormen, Algorithm Design by Tardos & Kleinberg - Solid undergraduate course texts on algos - Sedgewick's course + textbook has a great reputation, haven't looked much at the content though

Following this work through Leetcode, don't give up when it's hard!!

r/ProgrammerHumor • comment
2 points • n4ppyn4ppy

Not a book but the Coursera courses are good

r/learnprogramming • comment
2 points • firecopy

The book Algorithms 4th Edition by Robert Sedgwick, or his course on Coursera.

r/serbia • comment
2 points • denmlam

evo jedan odlican online kurs ko oce algoritme malo vise da uci