Algorithms
Below are the top discussions from Reddit that mention this online Coursera specialization from Stanford University.
Offered by Stanford University. Learn To Think Like A Computer Scientist. Master the fundamentals of the design and analysis of 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
Tim Roughgarden
Professor
and 13 more instructors
Offered by
Stanford University
This specialization includes these 4 courses.
The primary topics in this part of the specialization are: asymptotic ("Bigoh") notation, sorting and
Tim Roughgarden
9 mentions
The primary topics in this part of the specialization are: data structures (heaps, balanced search trees,
Tim Roughgarden
1 mentions
The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning
Tim Roughgarden
4 mentions
The primary topics in this part of the specialization are: shortest paths (BellmanFord, FloydWarshall,
Tim Roughgarden
1 mentions
Reddit Posts and Comments
1 posts • 409 mentions • top 50 shown below
22 points • rjray
Recommendation for new Clojure learners: the Coursera Algorithms Specialization
I just finished the 4class (16 weeks total) Algorithms Specialzation from Coursera. Prior to this, the only real Clojure I had written was in solving Project Euler problems. I felt like this would give me something more substantive to learn, and I was right (more so than I expected).
I found it very challenging, figuring out how to implement algorithms like QuickSort or Dijkstra's shortest path in a functional paradigm with immutable data structures. I have a B.Sci. in software engineering, but I've been out of school for nearly 30 years. I assumed (!) that this would be mostly a review of the algorithms study I had done in college. It turned out to be much more indepth than what I had done so long ago. So not only did I get to push myself into more substantive Clojure development, I also learned a lot of material that was new to me. As a bonus, there were several of the programming assignments that ended up being flatout EASY to implement in Clojure, given that maps, sets, etc. are all firstclass types. And most of the Clojure solutions were very short and compact.
Overall, I feel like I got a lot out of this series of classes, and really extended my grasp of FP in general and Clojure in particular.
(Note: the classes do require a monthly subscription fee. I am not affiliated with Coursera in any way or form, and I do not benefit from anyone subscribing to these classes.)
13 points • 14ashray
Try this course by Stanford University https://www.coursera.org/specializations/algorithms it's worth it. Excellent instructor
10 points • Eufrasia_
Has anyone done the Algorithms course from stanford ? Is it worth doing it ?
https://www.coursera.org/specializations/algorithms
here's the link for it.
9 points • stellar678
Help set up or join a local study group for algorithms and data structures ?
Hi all 
I'm looking at signing up for the Algorithms Specialization on Coursera (https://www.coursera.org/specializations/algorithms).
As a selftaught programmer, I have a gap in my computer science fundamentals that I'm trying to fill, and this set of courses seems like a good way.
Are you interested in doing the same and setting up a weekly local study group? I'm thinking up to around 5 people who could get together for two hours, two times per week at a cafe, library, coworking space, something like that.
I know that I'm more likely to complete the courses, and have an easier time getting through them, if I'm doing it with some peers. The course takes 4 months if you're doing 7 hours a week  we might move more quickly if the group is up for it.
7 points • pieter_steenekamp
I recommend Tim RoughGarden's Stanford series of MOOCs on algorithms @ www.coursera.org/specializations/algorithms .
9 points • ZestyData
Learn the 4 principles of Object Oriented Programming, and also the SOLID principles. And practise them. Write OOP code just for the purpose of using those principles.
I assume you learned Data Structures & Algorithms (DSA) in your masters degree? Trees, Binary Search Trees, Hash Tables, Sorting algos, Search, Shortest path, etc. If not: https://www.coursera.org/specializations/algorithms
If you did learn DSA, use Leetcode to practice coding problems. This is the website for CS professionals to practice tech firm interviewstyle problems, and general coding problem practice.
8 points • unknownuserNs
Which Specialization is more suitable?
TLDR;
Which coursera specialization is better for algorithms and data structures (Standford's or UCSD's)
Hello there,
I'm currently a first year computer engineering student, almost finished my first year though, I took two programming languages courses this year (I had no prior knowledge), I took both MATLAB and C++ both courses that had some advanced concepts like OOP,Polymorphism ,I didn't take separate algorithms or data structures courses,they aren't taught in my college as separate courses I guess I might be unaware of the syllabi though, I prefer self learning anyways, however I'm planning to study them this summer, so I found two coursera specializations and I'm hesitated which one would be more suitable.
However those are the links for reference, and advice is always appreciated! , And thanks in advance! :)
1_Data Structures and Algorithms Specialization  UNIVERSITY OF CALIFORNIA SAN DIEGO
12 points • DIYjackass
I think that this course would be a great introduction:
Introduction to Computer Science and Programming from MITx.
It is a very involved course and covers a lot of ground, but it has more focus on the things are important to building strong foundations when compared to CS50. CS50 does things like throws external sources at you and says here this is web development and this is cyber security. When they introduce it to you, you don't have the background to understand the context of what you are reading, and you keep yourself busy without effectively learning. One of the pitfalls of being a beginner is mistaking being busy for being productive.
After I learned basic programming I went through this MOOC series: Algorithms from Tim Roughgarden on coursera.
It was super challenging but really built my programming chops because I had to learn how to "think like a computer scientist" by mastering control flow, imperative programming, and the effective representation of data. Then you need to learn how to deal with larger software projects. That's the stage I am on.
3 points • handsomejack777
Ok thanks
Is this the one?
https://www.coursera.org/specializations/algorithms
I can't seem to enroll without giving credit card information.
3 points • tomekanco
I really liked this series by Tim Roughgarden.
3 points • BB611
My recommendation is Tim Roughgarden's Algorithms Specialization at Coursera. It's structured, Roughgarden is a very good teacher, and you'll actually learn the fundamentals you need to solve problems. It's about ~160 hours total if you're a total beginner, so it's 12 months if you're working hard.
A lot of people here are recommending CLRS. I wouldn't use it even though I've worked through it at various points over the last year and my algorithms course was taught in it. It's focused on the mathematical analysis rather than practical understanding and implementation of algorithms. You can use it for that, but that's not the intended audience of the book.
3 points • driscoll42
I took the Stanford one before applying for OMSCS and I think it helped me get accepted. Good set of classes: https://www.coursera.org/specializations/algorithms
6 points • RainwaterTrap
CPEN 221 is very similar to MIT’s Software Construction course. You can get a headstart if you work through some of that. Bonus: it’s also one of the most applicable courses to actually working as a software engineer, so you can get a small sense of whether you might like that career path.
I’d also recommend looking at an algorithms class. Stanford’s is good. This will help you in software interviews and CPSC 221.
In general CPEN is a lot of learning how to learn. You’re not expected to know Java before 221 but you should be okay with it by the end of September. You don’t need to know anything about hardware but you’ll have built a toy processor in Verilog by the end of second year. This is also the way it is on the job: you don’t need to know any of them before you start, but you might work in 4 different languages in the span of a 4 month coop.
2 points • danielroseman
Depends what kind of thing you want. For an actual course, I definitely recommend Tim Roughgarden's one on Coursera: https://www.coursera.org/specializations/algorithms  it looks like another session of this has just begun this week so an ideal time to sign up.
5 points • Zekish
Oh before you buy anything, have you considered just Audit https://www.coursera.org/specializations/algorithms.
You don't need to pay for it unless you want a Cert.
2 points • avinassh
> Hello all who are reading this, first time coming across this type of thread
hey! We post these every 15 days on saturdays, feel free to participate
> As a 3rd year college student should i focus on learning "old" languages like C/C++, Java then to focus on newer stuff like javascript and python(already did python, want to do more)
Actually they are almost of same age, except C. Old or new doesn't matter. C++/Java have quite demand. And also once you progress in your career, you might have to learn multiple languages. I would say pick either of Python or JS (or may be both) and get good at them. I suggested these two, cos they are easier to learn compared to C/C++ and also they have pretty good community on reddit.
> Is there a chance for an Electrical Engineer to Compete with IT and CSE student for internships, i feel there is a gap between our skill and knowledge, their entire syllabus is optimized and here we are doing our stream subject and then programming.
There is! Start learning coding and learn about algorithms, datastructures too.
> Is there a better resource than GeeksforGeeks to learn more about the different data structures and algorithm.
Personally I don't like GeeksForGeeks and I dont think anyone should use it. For better resources:
 Tim Roughgarden by https://www.coursera.org/specializations/algorithms
 Alogrithm Design Manual by Skienna
2 points • Dogopusss
Maybe getting started with Algorithms and Data Structures would be the best way to go. Since you already know the basics of Python, you can start by doing this Stanford University Algorithms course from Coursera.
Coupled with these, starting out with solving basic algorithmic problems at Hackerrank / Codechef should be a good way to go.
All the best!
​
​
2 points • NFLAddict
do you have a solid math background? not that you 'need' it persay, but it would make it a little easier. this is prob the best course ive ever taken, but it gets a little math heavy at times, some people like learning the actual proofs of the algorithms. not just learning the algorithm but why it works the way it does, why its correct etc...you can always skip those videos though
4 courses. different paradigms in each. divide and conquer / greedy/ dynamic programming...also teaches many diff data structures. its challenging, but give it a try. see how you like it. hes an excellent teacher.
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:
4 points • leungleoqin
Algorithms Part 2 still not open  any alternatives?
The course page was created in Coursera more than two months ago. Originally it is said to be starting in October 2016 but still hasn't after two months. Now the page says it will start in December 2016, but again, still waiting. I have completed Part 1, and some classmates said the constant delay is due to Coursera's policy of shifting to purchaseonly courses. So I am not even sure if the course will ever begin.
Are there any good alternatives to learn about algorithms? I heard about the Stanford course but unfortunately it is now purchaseonly.
Or should I just wait and start the next course on Functional Programming/Scala first? I assume it won't require specific knowledge from that particular Algorithm course?
Thanks!
4 points • iusedtoloveavltrees
How do I prepare for 373?
Not so good mark in 263 (66, check my history), want to rise from the ashes in csc373.
Assuming I have a summer to prepare, what are the best things to go through to ensure I ace 373?
I heard good things about these;
https://ocw.mit.edu/courses/electricalengineeringandcomputerscience/6006introductiontoalgorithmsfall2011/
https://www.coursera.org/specializations/algorithms
Advice please? RemindMe! December 2017 for redemption story
6 points • CompSciSelfLearning
https://ocw.mit.edu/courses/electricalengineeringandcomputerscience/6006introductiontoalgorithmsfall2011/syllabus/
http://www3.cs.stonybrook.edu/~algorith/videolectures/
https://www.coursera.org/specializations/algorithms
10 points • ConnorMcLaud
Practice makes perfect.
Incomplete list of what can help you
 Topcoder tutorials
 Cormen. Introduction to Algorithms book
 Skiena. Algorithm design manual book
 Princeton's Algorithms two part course at Coursera
 Stanford's Algorithm Specialization at Coursera
 MIT Algorithms course at OCW (completely free)
With deliberate practice knowledge above will be enough to land you a job at Google or whatever you want.
1 points • not_a_theorist
I recommend https://www.coursera.org/specializations/algorithms
1 points • vproman
I’m a big fan of Roughgardens course on Algorithms/Data Structures. I take it as a refresher every once and a while, don’t stress about getting every single lesson done. You can audit the course for free, you only pay if you want a certificate showing you passed the course. https://www.coursera.org/specializations/algorithms
1 points • klexomat3000
Verstehe. Also ich will dir auch nicht C++ aufschwatzen. Es kommt natürlich darauf an, was du so lernen möchtest. Sprachen wie C++ bieten sich gut dafür an so Datenstrukturen und Algorithmen zu lernen, weil sie dich relativ nah an den Speicher lassen. Wenn dich das interessiert, kann ich sie dir empfehlen. (Wobei es auch nicht unmöglich ist das mit anderen Sprachen zu lernen.)
Was die Länge der Bücher angeht hast du natürlich recht. Das wirkt erst mal ernüchternd. Aber wie gesagt, es ließt sich schneller als man denkt. Die hohe Seitenanzahl kommt schon allein deswegen zusammen, weil viel Code gedruckt ist. In dem ersten Buch sind nach jedem Kapital (ca. 50 Seiten) auch Übungen mit dabei, die machen solltest. (Der Author sagt eindeutig, wer die Übungen nicht macht, hat das Buch nicht gelesen.) Das lockert das ganze sehr auf und macht Spaß. Ich habe damals im Studium jeden Abend ein Kapital gelesen und danach die Übungen gemacht. War nach 6 Wochen oder so durch. Danach hast du halt ein solides Fundament. Soweit ich mich erinnere war auch kein Kapitel überflüssig oder zu komprimiert geschrieben.
Für Algorithmen kann ich den Kurs von Tim Roughgarden empfehlen. Ansonsten lohnt es sich wirklich auf Websites wie HackerRank die Probleme zu lösen. (Du schreibst ein Programm und die Website checkt dann ob es anständig und effizient läuft.) Das ist ein super Spaß und Coding Interviews sind danach ein Witz.
1 points • BeMyPenPalPlease
Since you already have a BE in Computer Science, you should be good with the basics. To build on top of what you already know, I would recommend this: https://www.coursera.org/specializations/algorithms
I was in a similar situation as you till very recently. Took this course, prepared, started my new job 3 weeks ago. :)
1 points • llamagish
This one? https://www.coursera.org/specializations/algorithms?
1 points • chinacat2002
https://www.coursera.org/specializations/algorithms
There is one from Stanford and another from Princeton.
Both are excellent.
You'll have to look at the topics list.
1 points • ElectricalAd1798
If you want a formal education in algorithms and data structures, Tim Roughgarden's course from Stanford/Coursera is excellent.
https://www.coursera.org/specializations/algorithms?
1 points • QuietShock
I am currently working as an Android Developer for last 1+years in a small startup. I am thinking about switching to some good company(product based preferable). My definition of good is :

Company should be stable

A good or decent work life balance (In my current company I have to work 12h per day, 6 days a week)

Should have good ethics/moral (In my current company I we don't get any comp off if we work on Sundays)

Should get a good/decent salary
I am looking for two role

Android Developer

Software Development Engineer 1
For the preparation I started with learning Algorithms (haven't focused in my B.tech days). Currently I am learning theory from Algorithms Course by Stanford University ( https://www.coursera.org/specializations/algorithms ) and also trying to implement whatever Algorithm I am learning.
My Plan is:

Complete Algorithm Course

Start doing Leetcode and CTCI and parallely
a) Learn about Database
b) Learn about Computer Networks
c) Learn about Operating Systems
3.Learn more about Android and Some popular library
a) RxJava
b) Dagger 2
c) Custom Views
d) Design Patterns (MVVM)
e) Kotlin (I am decent in Java but noob in Kotlin)
Guys need you suggestions and advice.
Thank You
15 points • CoderMonkey123
Here's a list of a few free and good Algo & DS courses:
1 points • WebNChill
Like to ask, what made you decide on the Princeton one versus the Stanford algorithm class? Stanford Algorithm Class
1 points • Redducer
C’est une forme de développement. Quand je parle d’algorithmique je pense par exemple à ça: https://www.coursera.org/specializations/algorithms C’est une introduction au sujet, et à mon humble avis, à moins d’etre un authentique génie, on n’apprend pas tout ce qui est dedans par la seule pratique. Il y a de la théorie, pas triviale.
1 points • Lostwhispers05
Thanks for the response. Not from the US sadly.
The most widely recommended and exhaustive course I've found is this specialization course on Coursera, which is a specialization track made up of 4 DS&A courses.
In terms of accreditation it seems it might not carry much ballast, but do you reckon it might reflect more willingness to independently learn and plug in gaps.
1 points • Alaharon123
I don't know how you did 106A, but it's followed by 106B and 161. Note that 161 has a Coursera version (each individual course is free, don't buy the specialization) simply called Algorithms and that although oncampus it requires 103 and 109 beforehand, you can likely get away with not taking a Discrete Math course because the Coursera version covers necessary math as needed.
1 points • roastvarren
Go for UCL course. The Queen Mary one doesn't offer a DS&A module (which is a pretty big omission)
However, if you do go for Queen Mary, there are online courses out there to get yourself familiarised with those concepts. I'd personally recommend this one
1 points • crosswindzz
What about the Stanford Algorithms specialization on Coursera? I haven't taken it, but it has some great reviews: https://www.coursera.org/specializations/algorithms
1 points • DargeBaVarder
I was looking at: https://www.coursera.org/specializations/algorithms Does that look any good?
What about data structures?
1 points • IRRJ
I recommend coursera online courses, a lot of courses you can do for free without certificates.
This is a very good course from Stanford University on algorithms that I did years ago, and gave me ideas on how to solve problems in my work.
https://www.coursera.org/specializations/algorithms
1 points • lina_d_inrahd
Thanks again, now I understand the use of learning data structures and algorithms to become an efficient developer Algorithms specialisation by Stanford will this course cover everything I need to understand data structures and algorithms? Or would this be an overkill. There is an another course offered by Princeton uni but it looks like there's only a part of it available online. And also please suggest If there's any better alternative to these courses. Are there any other concepts I need to build, which I might have missed because of not doing CS degree, before doing the udemy course you suggested?
1 points • I_Am_Become_Dream
Coursera has several Stanfordrun courses on this. Here's a sequence on algorithms https://www.coursera.org/specializations/algorithms Browse through those and check them out. You usually don't need much more than videos and assignments.
1 points • IserlohnArchmage
He also has algorithms courses on Coursera, which I assume may have the similar content.
1 points • zeValkyrie
Thanks  I did the Khan academy algorithms course a while back. I don't think it was as in depth (or it has too much hand holding) as I would like (it was interesting to code up merge sort, quicksort, etc but I retained very little of the details). I decided to start working through this https://www.coursera.org/specializations/algorithms which so far looks good and covers things I definately don't know yet.
1 points • itslenny
Hmm looks like they no longer have the classes I took. Which were just called DSA 1 and 2.
Seems like they replaced it with an algorithms specialization. Same school, same professor. I'd assume the content is similar.
https://www.coursera.org/specializations/algorithms
1 points • ghostat1m
I'm currently learning DSA from Stanford University's Algorithms specialization on coursera. It is a 4 part course and can be audited for free. They teach you algorithms independent of any programming language and only provide u with pseudo code.
1 points • hextree
Nah, it was Tim Roughgarden: https://www.coursera.org/specializations/algorithms
I did it back when the course was free. Looks like it's no longer free.
1 points • austinzheng
Coursera has classes from both Princeton and Stanford that cover the material to a level expected from a CS undergrad (e.g. their Algorithms track).
I took the Stanford courses some time ago and they were extremely helpful for someone with no formal CS background. They do represent quite a bit of time commitment (if you want to do more than just watch the lecture videos), but they are free.
1 points • find_my_path01
Try to look into data structures and algorithm design. No matter which way tou decide to take your career as a developer. This will help you.
https://www.coursera.org/specializations/algorithms
This is the one that i have tried out. Really helpful.
1 points • JustPear
Will 4.1 the coursera Algorithm specialization be enough?
(And thereafter practicing questions)