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"....

Sep 29, 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.

Mar 08, 2018

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

篩選依據：

By Yair B

•Apr 30, 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!

By Max B

•Mar 21, 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!

By Gerardo G

•Mar 09, 2019

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

By Rudy H

•Mar 06, 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.

By Rita I G

•Feb 07, 2019

Good course!!

By Olga T

•Sep 29, 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.

By Artur P

•Sep 21, 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.

By Jayadev H

•Aug 22, 2018

lectures are a bit on the slow side... not straight to the point and a bit repetative..

bfs we have already done in this spezialization.

but homework/project/applications are excellent!

makes up for the rest!

Thank you!

By 熊华东

•Aug 21, 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

By Vern K

•Jul 26, 2018

Course and assignments were very well thought out and informative.

By Tairan Y

•May 13, 2018

very thoughtful course!

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

By Aaron M

•Mar 22, 2018

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

By Julian O

•Mar 21, 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.

By Márton A N

•Mar 08, 2018

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

By Andrew F

•Mar 05, 2018

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

By Wynand

•Jan 11, 2018

Not quite the same level of energy presents in IIPP and Computing Principles. Also did not like the peer review projects, too messy.

By Siwei L

•Dec 23, 2017

Very helpful course!!

By Jaehwi C

•Dec 11, 2017

The best course to study computer science and algorithm for beginner!

By Michael B R

•Dec 08, 2017

Another great course in this specialization!

By Albert C G

•Dec 02, 2017

Great Class - Truly makes you think

By Alvin L

•Nov 22, 2017

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

By Edwin R

•Nov 12, 2017

The course content is well structured and the instructors' explanation is clear and concise!

By Ganapathi N K

•Nov 11, 2017

Superb

By Zou S

•Oct 16, 2017

Very impressive and interesting. Graph theory is really elegant representation of the computer network.

By Y A

•Oct 11, 2017

This is Wonderful and simpler explained course that is detailed with 'learner's requirement'.