Вернуться к Divide and Conquer, Sorting and Searching, and Randomized Algorithms

звезд

Оценки: 4,657

•

Рецензии: 903

The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), and randomized algorithms (QuickSort, contraction algorithm for min cuts)....

KS

13 сент. 2018 г.

Well researched. Topics covered well, with walkthrough for exam.le cases for each new introduced algorithm. Great experience, learned a lot of important algorithms and algorithmic thinking practices.

DT

26 мая 2020 г.

Thank you for teaching me this course. I learned a lot of new things, including Divide-and-Conquer, MergeSort, QuickSort, and Randomization Algorithms, along with proof for their asymptotic runtime

Фильтр по:

автор: Thomas N

•9 февр. 2019 г.

After spending a lot of time on this specialisation, you will receive a certificate upon completion which says "SOME ONLINE COURSES MAY DRAW ON MATERIAL FROM COURSES TAUGHT ON-CAMPUS BUT THEY ARE NOT EQUIVALENT TO ON-CAMPUS COURSES. THIS STATEMENT DOES NOT AFFIRM THAT THIS PARTICIPANT WAS ENROLLED AS A STUDENT AT STANFORD UNIVERSITY IN ANY WAY. IT DOES NOT CONFER A STANFORD UNIVERSITY GRADE, COURSE CREDIT OR DEGREE, AND IT DOES NOT VERIFY THE IDENTITY OF THE PARTICIPANT." Essentially, your completion certificate is a worthless paper regardless of your efforts. I think if the instructor wants to issue an online certificate, just say "Online course" and that is enough. I really felt being let down after all my efforts to listen and finish all homeworks.

автор: Divij S

•23 янв. 2018 г.

I have issues with the content/style of this course. My main issue is that the course requires understanding of maths topics to understand the course content, which is fine, and the lecturer provides some review of those topics. However, my main issue/frustration is that a large part of the quizzes is about the maths which the course relies on, not on what is taught in the course itself. In other coursera CS courses, the lecturer uses some maths in explanations/lectures, which requires understanding those maths topics, but then the course does not test you on your understanding of the maths which is not taught in the course - it tests your ability to understand and implement what was taught. I understand the maths well enough that I can follow the proofs provided in the lectures, but there wasn't enough material on the maths to expect me to be able to draw conclusions by performing similar proofs on my own. This made the course quite frustrating. The result is also that though I understand the algorithms taught, if I want an in-depth understanding of the maths, proofs, and analysis, I'll have to study this topic from scratch again from another source, which makes my time spent on this course almost a complete waste.

Additionally, with the way courses are on coursera, its very hard to learn from your mistakes. You either know the answers or you don't. There's no explanation about why your answer is correct/incorrect.

I did learn a lot about algorithms and for the most part the lecturer taught well. My only complaint is that the course is set up in such a way. The content does not include enough about maths and analysis to quiz you almost solely and quite thoroughly on maths and analysis, which it does.

автор: Ian D

•3 янв. 2019 г.

The instructor is simply not good at explaining these concepts. In contrast to the Princeton course his explanations are dense, condescending, and totally removed from the day to day practice of software development. I would not recommend this course to anyone.

автор: Joshua S

•3 окт. 2018 г.

I have a degree in CS, but it's been over 15 years, so I took this course as a refresher. I've previously taken Dr. Sedgewick's Algorithms II course (also on Coursera) 4 years ago. Both courses are excellent. The Princeton course has lots of meaty programming projects that are more similar to a traditional data-structures classes. The Stanford course is a little heavier on theory, while remaining very practical. Professor Roughgarden is a fantastic lecturer, and the material is extremely well crafted with lots of fully worked examples of classic problems. While slower than Sedgewick's course, I really needed something that would pound these ideas and concepts into my head, and this course does a great job with that.

автор: Erin H

•19 июня 2018 г.

As a teacher, I cannot understand why you would teach concepts by essentially writing out slides that you could have easily typed out before hand. If you are doing some interactive screen casting, utilize it by actually drawing out concepts and examples. Slides and drawings complement each other, don't just use one mode of teaching. I've never had a Computer Science instructor do this and it made it the videos almost useless. When I completed the quizzes and programming assignments, I relied heavily on internet research on concepts.

автор: Bharath K N

•16 окт. 2018 г.

Very fast paced videos, i had to reduce the speed to 0.75x to understand.

Most of the concepts (math) are omitted from lectures but still the jargon's like "lemma" /"corollary" / "induction"/ "contradiction" are used to confuse the user without much clarity on prerequisites for the course , so in order to understand this i had to resort to other books and come back to this video for understanding.

If you are math skills are meek or you need a refresher , i suggest to pick some basic math book on probability and learn some graph theory before joining this course, trust me you would save a lot of time.

I had to jump between the video and other books, the problems are very challenging.

If you are very good in math basics and already read Intro to Algo's by Cormen, there is no much need of this course.

автор: Bakhtiar R

•3 нояб. 2017 г.

Very poor explanation. Accept more in depth explanation. Cant move forward after few lectures.

автор: amit u

•2 нояб. 2016 г.

the tutorials is not for average students, it takes a very high skill to understand them . also the quiz nd the assignments r too tough.hope you can make them a bit easy, the last one ,ie with graphs and trees was a bouncer. If the maths required is so high, please take a week to first explain the math fresher required in course and then start the main course

автор: Pablo S

•30 дек. 2019 г.

Very theoretical and lacking of resources. The classes are handwritten, showing very little effort and the forums are dead.

автор: Vladimir M

•18 окт. 2019 г.

Initially, I wanted to rate this course to 4 points, but after deep reflection I decided that the problems I faced are related to my background, not the course itself.

Probably for recent students who still remember Probability Theory and Math Analysis this course would be easier. I graduated 11 years ago and for me, it was extremely challenging to keep the pace (theory, assignments, and programming homework).

This course made me refresh (read "learn from scratch") some aspects of a bunch of areas, but eventually, I should say it gives me confidence now when I'm passed that everything is possible to be learned.

For those who sitting on a fence and considering this course as a step for Software Engineer interview preparation, I'd say probably it's not the best way to do it. There are many more materials oriented to interview preparation.

I recommend this course only if you like learning or want to be an expert in algorithm analysis.

автор: Matthieu D

•13 сент. 2018 г.

Interesting and well structured course. The material is basic, but has enough depth to be challenging for someone who, like me, has minimal programming experience. The instructor explains the material very well and is engaging.

A big plus is that, unlike other similar courses, you can apply the material and answer the quizzes with any programming language you see fit.

автор: Adam L

•11 июня 2017 г.

Pros: Excellent material, well controlled audio of the dictation, quizzes encouraged thoughtful reconsideration of the material.

Cons: Some lectures could be broken down more. I think this would help with attention, retention, and review. The biggest issue was with the programming assignments. The decision made for what to report as an answer to show you've done the work seems to lead to students spending most of the time on what I call "guess the implementation problems" rather than understanding and retaining the concepts. To give a concrete example, on PA#3 I came up with implementations of quicksort that not only properly sorted the array, but did so with less comparisons than the "right implementation" that led to the answer needed for the assignment. My intial implementation was based off of the CLRS book and my own logical understanding of the algorithm. Even after having rewritten based off the suggested pseudocode from the lecture video, there was a lot of room for ambiguity in the implementation. Trying to figure out what implementation I was supposed to have seemed like an endeavor for the sake of points instead of learning, and it took up ~95% of my time spent on the problem. I feel like assignments like this are tedious and discouraging to not only learning but thinking for yourself. Ideally, we would find a way to avoid this problem while still having a way to ensure people did the work.

автор: LUIZ O V L D G

•1 окт. 2019 г.

Quizzes are no clear to understand and the classes doesn´t help much as Tim seems to be in a hurry to talk, sometimes it´s better only to read te pdf´s. I´m just frustrated, doesn´t seem to be for programmers but for mathematicians.

автор: Pulkit K

•11 июня 2018 г.

I don't think the course is written in a very straight forward moving method, the tutor says we'll discuss 'A' in this video but before that I'll tell you something irrelavent to 'A' and then something more again and then he tells in the end of the video what is 'A' , proper discussion about 'A' is in another video.All I can say is I'll never come back to this tutor again, very poorly managed course.

автор: Jyovita C

•11 июня 2017 г.

A really exciting and challenging course. Loved the way the instructor explained everything with so much detail and precision. Definitely looking forward to the next course in the specialization.

автор: Faiz R

•16 мар. 2017 г.

Very good course in algorithms. I bought the book to help me understand but the lectures make it way easier and thus much more fun to understand the analysis. Looking forward to complete the spec

автор: Wang Q

•13 дек. 2020 г.

I regret for the time I spent on this course and luckily I cancelled the subscription. I had high expectation on the Coursera courses offered by Stanford after I took the machine learning one a couple years ago. This Algorithms course's quality is significantly lower than the machine learning one, though both being rated almost 5.

[1] A lot of contents are not intelligible. I had to heavily rely on Google to find better explanations. It was not that the topics were that difficult to understand: the way this course explains things jumps too much and sometimes it significantly lack details for me to follow.

[2] The instructor needs to slow down and speak more clearly. The monotone makes people fall asleep. Sometimes I had to read the scripts to understand him, which never happened in any other Coursera course I took. The handwriting is hard to read and the course slides are not helpful.

автор: Karan S

•14 сент. 2018 г.

Well researched. Topics covered well, with walkthrough for exam.le cases for each new introduced algorithm. Great experience, learned a lot of important algorithms and algorithmic thinking practices.

автор: Sergey S

•25 мар. 2019 г.

I've taken some other courses but this one provides really complex quizzes/exams that encourage students to learn.

автор: Maxim A

•9 апр. 2021 г.

I didn't like the course as tutor not looking to educate, but rather to show off how smart he is.

For instance, by using different wording like: "bird-eye view" - why you can't just say bigger picture? "culminating" - why you can't say finalizing?

What is the value of following statement? "The sequence of steps should strike you as very mysterious, like pulling a rabbit out of a hat"

Why I should read it? To waste my time?

Why you need to complicate following statement? "The key point to appreciate now is that there’s a dazzling array of options for solving computational problems like integer multiplication."

Why you can't just say "multiple ways to solve one problem"?

Why you overload me with unnecessary statements? To sell me air?

Also, if you are such a great expert in algorithms why you can't find the algorithm to fix baldness of your head? Show us your expertise or you just bragging? In fact you saying it yourself: "Even evolution can be thought of as a surprisingly effective search algorithm." Why you can't use algorithms and solve your baldness? Because you are incompetent?

Also, the slides. What is the point of making slides full of text? Why I can't just read book instead? Why I need your slides? You needed to fill somehow the space called slides?

Quickly and recklessly tried to fill the gaps?

IMO, tutor just using coursera to sell their useless books to earn some cash.

I can't even unenroll from the course.

If I would be able to give negative stars I would do so.

автор: Sergey T

•3 мая 2020 г.

That was a great course, thank you Mr. Roughgarden!

Before I took this course I had huge (HUGE) problems in understanding algorithms and some math concepts like big O notation, conditional probability, the linearity of expectations, etc. Now I got rid of some of these problems, and I stopped to be shy about solving algorithmic problems and answering tech interview questions related to algorithms. I'm going to keep learning and take all other courses in this specialization.

I must say this course was somewhat tricky for me, but I managed to do everything at 100%. The programming experience from assignments and reviewing teammates' code was also great. I also love those optional problem sets. The thing I liked the most was programming assignments, which I turned into a project worth taking tech interviews in my portfolio.

The only thing I didn't like is the final exam. It just doesn't provide any useful feedback to you. After you submit your result you can only see if something is correct or wrong, and if you're wrong, you won't' get any info why. It's just like the typical test which is great for evaluating your results but completely useless for your learning.

автор: Atul S A

•22 авг. 2018 г.

Dear Prof Tim Roughgarden

I have been watching your lecture videos while taking my meals. When I do this for other courses, either I have to take out a piece of paper and scribble things to understand or they turn out to be so boring (for me) that I have to change. This course of yours was pitched at the perfect level. This is not to say the material was easy. There were so many wonderful ideas that you almost playfully conveyed with essentially zero effort required on the part of the learner. It often happens that people that understand things very well are also unable to express them to lesser mortals. You are an exception.

I must admit that I simply audited the course so I can't make any comments about the exercises.

I look forward to learning more from you. Thank you for taking the time for putting all this together. Hope you're enjoying/enjoyed your sabbatical.

—

Atul

автор: Sandeep P

•6 авг. 2018 г.

Nice introduction to algorithms. Enjoyed the programming exercises. I would recommend new users to try the assignments in python or a similar high level language to avoid getting stuck in the gory details that would entail in a low-level implementation.

автор: Varad P

•27 апр. 2020 г.

Professor Tim is an amazing instructor, and he explained all those elegant proofs in a brief and concise manner. I really enjoyed this course and certainly felt my IQ level going above roof ! :P

автор: Z T

•2 окт. 2020 г.

I had high hopes for this course, given a rating of 4.8 stars. I made the mistake of enrolling in the class without reading the reviews.

The instructor is, frankly, not excellent at explaining concepts. Even though I had already known most of the materials taught in week 1, I still had trouble understanding the instructor. I am quite disappointed. Having completed week 1, I figured unenrolling the course would be the best option for me.

Lesson learned: ACTUALLY read the reviews (particularly the ones with low ratings) before enrolling in any classes.

- Аналитик данных Google
- Управление проектами от Google
- UX-дизайн от Google
- ИТ-поддержка Google
- Наука о данных IBM
- Аналитик данных от IBM
- Анализ данных с помощью Excel и R от IBM
- Аналитик по кибербезопасности от IBM
- Маркетинг в социальных сетях от Facebook
- Разработчик комплексных облачных приложений IBM
- Представитель по развитию продаж от Salesforce
- Сбытовые операции Salesforce
- Soporte de Tecnologías de la Información de Google
- Certificado profesional de Suporte em TI do Google
- ИТ-автоматизация с помощью Python от Google
- Tensorflow от DeepLearning.AI
- Популярные сертификаты по кибербезопасности
- Популярные сертификаты по SQL
- Популярные сертификаты по ИТ
- Посмотреть все сертификаты

- бесплатные курсы
- Изучите иностранный язык
- Python
- Java
- веб-дизайн
- SQL
- Cursos Gratis
- Microsoft Excel
- Управление проектами
- Безопасность в киберпространстве
- Людские ресурсы
- Бесплатные курсы в области науки о данных
- говорить на английском
- Написание контента
- Веб-разработка: полный спектр технологий
- Искусственный интеллект
- Программирование на языке C
- Навыки общения
- Блокчейн
- Просмотреть все курсы

- Навыки для команд по науке о данных
- Принятие решений на основе данных
- Навыки в области программной инженерии
- Навыки межличностного общения для проектных групп
- Управленческие навыки
- Навыки в области маркетинга
- Навыки для отделов продаж
- Навыки менеджера по продукту
- Навыки в области финансов
- Проекты по разработке для Android
- Проекты по TensorFlow и Keras
- Python для всех
- Глубокое обучение
- Навыки Excel для бизнеса
- Основы бизнеса
- Машинное обучение
- Основы AWS
- Основы инженерии данных
- Навыки для аналитика данных
- Навыки для UX-дизайнеров

- Сертификаты MasterTrack®
- Профессиональные сертификаты
- Сертификаты университетов
- MBA и другие дипломы в области бизнеса
- Степени в области науки о данных
- Степени в области компьютерных наук
- Дипломные программы по анализу данных
- Степени в области общественного здравоохранения
- Степени в области социальных наук
- Дипломные программы в области управления
- Дипломы ведущих европейских университетов
- Дипломы магистра
- Степени бакалавра
- Дипломы с карьерными путями, ориентированными на результат
- Бакалаврские курсы
- Что такое диплом бакалавра?
- Сколько времени нужно для получения диплома магистра?
- Стоит ли получать диплом MBA онлайн?
- 7 способов оплатить магистратуру
- Просмотреть все степени