- All DegreesExplorar títulos de grado de Licenciaturas y Maestrías
- Bachelor’s DegreesExplore master’s degrees from leading universities
- Master’s DegreesExplore Computer Science & Engineering degrees
- Postgraduate StudiesDeepen your expertise with postgraduate learning
- MasterTrack™Obtén crédito para una Maestría
- Certificados universitariosImpulsa tu carrera profesional con programas de aprendizaje de nivel de posgrado

Volver a Algorithmic Thinking (Part 1)

estrellas

356 calificaciones

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part course builds on the principles that you learned in our Principles of Computing course and is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to real-world computational problems.
In part 1 of this course, we will study the notion of algorithmic efficiency and consider its application to several problems from graph theory. As the central part of the course, students will implement several important graph algorithms in Python and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms.
Recommended Background - Students should be comfortable writing intermediate size (300+ line) programs in Python and have a basic understanding of searching, sorting, and recursion. Students should also have a solid math background that includes algebra, pre-calculus and a familiarity with the math concepts covered in "Principles of Computing"....

OT

28 de sep. de 2018

very educational. I've learnt not only about graph theory but also how to use matplotlib and timeit libraries. The assignments were quite challengeable but rewarding.

MR

16 de sep. de 2019

The class is very useful, I already see the improvement in the codes that I write. And the assignments are very well-designed and truly helpful.

Filtrar por:

por Ian B

•25 de jul. de 2017

Excellent course.

Algorithmic Thinking is significantly more difficult than Principles of Computing. I felt there was a big step up, and I had to do a lot of research and reading outside of the course just to keep up. The listed 7-10 hrs/wk is too low IMO. I spent 14.5 hrs/wk on average (for parts 1 and 2). Maybe if you're already really good at math and experienced with matplotlib you'll take less time.

Anyway, the material is great, and gives you a good glimpse of how difficult problems can be solved efficiently. It's one thing to be shown an algorithm and how it was created, but it's entirely different thing to do it yourself from scratch. But at least I'm now aware of the strategy and can practice it. I learned a lot from these courses (the whole specialty), and am miles ahead of where I was when I started.

por Yair B

•30 de abr. de 2016

The lectures will not get you near the understanding you'll need to complete the assignments. though the resources will.

The application is great, and hard so you'll actually have to understand the material.

You have been warned, this course is very different to the other courses in the specialization!

por Alvin L

•22 de nov. de 2017

What the professor explains he explains well, but there is a lot of stuff in the homework assignments that is not explained

por Zoltán T

•18 de jul. de 2019

There are some videos where the lecturer can't even use a computer. Then there are a homework which is completely unrelated to everything taught during the lectures. Regarding the practice examples, key information are missing from the descriptions. I ended up frozing my computer several times because the problem was very ill-written...

por Max B

•21 de mar. de 2019

Oh man, I hade so much fun in this course! The lectures and material is very good, and everything is wrapped up in much fun projects and applications where you will learn a lot. I especially enjoyed the more mathematical approach in AT compared to PoC and IIPP, and also the general class structure! Highly recommended!

por Daniel W

•8 de ene. de 2020

Pros:

Lots of good material to learn. Challenging. Lectures are easy to understand.

Cons:

More dense, textbook-jargon "CS major" feel to this class than the others. Expect to spend more hours and have less fun vs. parts 1-4. Much easier to get discouraged. Major problems waiting for assignments to go through peer grading process, sometimes taking *weeks*.

Suggestions:

More basic handouts such as: 1) Set notation cheat sheet. 2) Pseudocode examples fully decoded into simple language. Also, watching a visualization of the base-pairing algorithm (Needleman-Wunsch) is highly recommended for understanding what you're trying to do. You can google it, but it would be nice if they added it to the course. Also, more smiling.

In summary, it's a challenging course and I'm a better programmer for having finished it. However, it's more daunting, took me longer, and lacks the easy going/encouraging/illustrative style of the earlier courses. Peer grading takes way too long, especially if you're paying for a subscription.

(My review applies to both Algorithmic Thinking Parts 1 and 2)

por Stephen H

•7 de may. de 2016

The transition from the original Coursera platform to the new one has significantly reduced my overall satisfaction with the course experience (I have previously taken the 4 earlier Rice courses in this series and enjoyed them immensely).

Major contributing factors to my dissatisfaction:

-- The user interface changes are unwelcome and have detracted from my ability to engage with the material.

-- There have been arbitrary (and unannounced) changes to polices, e.g. dropping distinction grading.

-- The price increase per course and locking down of assignments to only those who have paid has unfortunate side effects, including.

-- In contrast to previous courses in this series which had an active community engagement the discussion forums are now relatively empty, running the courses more often is not going to help this situation.

Having previously been an unpaid evangelist for the Coursera approach and materials I now find myself extremely reluctant to recommend this revised experience to colleagues.

por Eelko d G

•17 de nov. de 2016

Compared to the previous courses in this specialization I found this a tough course. Calculating the big-O for yourself wasn't easy. The descriptions of the applications #1 and #2 were not very clear to me at the start (probably because English is not my first language). Some sentences I had to read several times before I understand what was asked. But the things I learned are useful and I am definitely sure that what I have learned here I can use in my work as software engineer. Thank you Luay, Scott and Joe for another excellent course.

por Yu(Helena) H

•2 de dic. de 2016

Great class, very well constructed. Professors are very knowledgeable and the course materials are well designed. I started from the very beginning of the class knowing very little about python and algorithm, by this class I'm pretty comfortable coding in python. And I got to apply what I've learned in my interview for jobs. Definitely a great class! Learned a lot, and still applying it in my job.

por 周玮晨

•21 de ago. de 2018

Very great course.At first i under estimate this course, but through this course i became stuggling in project and assignment. The depth and breadth of the course is wonderful.Maybe sometimes got stucked, but finally always found It's worthwhile spending hours on this course. This course drove me thinking and thinking. It should take some time to review. Sometimes i don't know how i finished

por Rudy H

•6 de mar. de 2019

Prof. Luay is an excellent instructor, his approach is very well thought of and his explanation on the subject is very constructive and clear which is vital to the understanding of such subject. I am learning a ton and very thankful to all that involved.

por Julian O

•21 de mar. de 2018

Another excellent course in the specialization from Rice. Really interesting algorithms that were fun, and non-trivial, to implement. The plotting and comparison exercises are helpful for gaining insight.

por Artur P

•20 de sep. de 2018

Some parts was hard and some not because of my own experience, in general very good course and only hard problems forces us to think.

por Todd R

•29 de ago. de 2016

It takes some serious dedication to understand and apply the material if math and computation are foreign to you, like they were for me. But if you apply that dedication, the material is accessible and the feeling of accomplishment is tremendous. Great class/teaching.

por Olga T

•28 de sep. de 2018

very educational. I've learnt not only about graph theory but also how to use matplotlib and timeit libraries. The assignments were quite challengeable but rewarding.

por Maysam Q R

•17 de sep. de 2019

The class is very useful, I already see the improvement in the codes that I write. And the assignments are very well-designed and truly helpful.

por Márton A N

•8 de mar. de 2018

This is where computer science truly starts, without the excessive preliminary math that usually scares most people away. Great course!

por Gerardo G

•8 de mar. de 2019

Great course, please offer an oline program to obtain an Rice university grade in science computer.

por Tairan Y

•13 de may. de 2018

very thoughtful course!

not easy by any means, but for sure learned a lot from the hard experience.

por Aaron M

•22 de mar. de 2018

A step up in difficulty from the previous modules in this specialisation.

por Vern K

•26 de jul. de 2018

Course and assignments were very well thought out and informative.

por Andrew F

•5 de mar. de 2018

Another fantastic course from the team at Rice - thank you!

por Adam C

•9 de jul. de 2019

Great course!

por Rita I G

•7 de feb. de 2019

Good course!!

por 이선재

•11 de dic. de 2020

So difficult to beginner.... It requires some knowledge of python(dictionary, list, and some grammer..)

- Guía profesional para el uso de la nube de AWS
- Aspectos básicos de la programación informática con Python
- Programación Python para principiantes en TI
- Desarrollo de diseños y prototipos profesionales de alta fidelidad
- Obtén el certificado en CPI de Google CBRS
- Introducción a la programación en MATLAB
- Aprende a utilizar HTML y CSS para crear páginas web modernas
- Aprende los conceptos básicos de Agile con Atlassian JIRA
- Gestión de servicios de infraestructura de TI
- Cómo dominar los fundamentos del soporte de TI

- Aspectos básicos de la programación informática con Python
- Programación Python para principiantes en TI
- Cómo desarrollar un sistema informático moderno desde cero
- Introducción a los fundamentos de Google Cloud
- Introducción a la criptografía
- Introducción a la programación y el desarrollo web
- Introducción al diseño de experiencia de usuario (UX)
- Aprende a utilizar HTML y CSS para crear páginas web modernas
- Cómo dominar los fundamentos del soporte de TI
- Uso de SLO y SLI para medir la fiabilidad del sitio

- Cómo crear una cartera de productos Agile y basada en el valor
- Fundamentos de los mercados financieros y el comportamiento financiero
- Introducción a la gestión de proyectos de construcción
- Introducción a Google Sheets
- Introducción a la IA para personas sin conocimientos técnicos
- Aprende los conceptos básicos del SEO y mejora las calificaciones de tu sitio web
- Domina la redacción comercial
- Cómo dominar el arte de la oratoria
- Creación y gestión de contenido para redes sociales
- Entender los estados financieros y su divulgación