Latest Courses
C++ Working with Files - fstream I/O libraryCheck course
Fundamental Data Analysis and Visualization Tools in PythonCheck course
Easy Widget Development: Code WordPress Widgets from ScratchCheck course
Python Basics for Software DevelopmentCheck course
How to Build a Java Spring Boot Web Application from ScratchCheck course
Blazor in 2020Check course
A Complete Guide to WebSocketsCheck course
React JS For Beginner Convert Any HTML Site To React JSCheck course
Visual C# with WinForms: Step by Step Projects for BeginnersCheck course
DigitalOcean Cloud Platform FundamentalsCheck course
C++ Working with Files - fstream I/O libraryCheck course
Fundamental Data Analysis and Visualization Tools in PythonCheck course
Easy Widget Development: Code WordPress Widgets from ScratchCheck course
Python Basics for Software DevelopmentCheck course
How to Build a Java Spring Boot Web Application from ScratchCheck course
Algorithmic Thinking (Part 1)

Algorithmic Thinking (Part 1)

FREE

Add your review
Add to wishlistAdded to wishlistRemoved from wishlist 0
Add to compare
8.9/10 (Our Score)
Product is rated as #28 in category Computer Science

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

Instructor Details

Luay Nakhleh received a BSc degree in Computer Science from the Technion (Israel) in 1996, a Master's degree in Computer Science from Texas A&M University in 1998, and a PhD degree in Computer Science from UT Austin in May 2004 (Advisor: Prof. Tandy Warnow). While at UT Austin, he received the Outstanding Doctoral Dissertation Award, the Bert Kay Dissertation Award, the Texas Excellence Teaching Award, and the Outstanding Teaching Assistant Award. Luay joined the Computer Science department at Rice University as an Assistant Professor in July 2004, and was promoted to Associate Professor, with tenure, effective July 2010. While at Rice, he received the DOE CAREER award in 2006, the NSF CAREER award in 2009, the Phi Beta Kappa Teaching award in 2009, an Alfred P. Sloan Research Fellowship in 2010 (in the Molecular Biology category), and a John P. Simon Guggenheim Foundation Fellowship in 2012 (in the Organismic Biology and Ecology category).

Specification: Algorithmic Thinking (Part 1)

Duration 20 hours
Year 2016
Level Intermediate
Certificate Yes
Quizzes Yes

50 reviews for Algorithmic Thinking (Part 1)

4.1 out of 5
40
4
4
0
2
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Avatar

    Todd R

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  2. Avatar

    Karun

    The applications were too time consuming. Please consider adding a tool that makes graphing easier. The course itself was very good and engaging and without us knowing it, would teach core fundamentals of computing through the coding exercises.

    Helpful(0) Unhelpful(0)You have already voted this
  3. Avatar

    Isuru

    A course I enjoy very much!

    Helpful(0) Unhelpful(0)You have already voted this
  4. Avatar

    Andrey S

    Too much bla, bla, bla. Very slowly, very boring.

    Helpful(1) Unhelpful(0)You have already voted this
  5. Avatar

    Eelko d G

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  6. Avatar

    Yu(Helena) H

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  7. Avatar

    Qi D

    coursea does not allow me to quit the class. Also, I cannot do the homework or watch video at my own pace.

    Helpful(0) Unhelpful(0)You have already voted this
  8. Avatar

    Martin W

    great course

    Helpful(0) Unhelpful(0)You have already voted this
  9. Avatar

    Ze C

    Application assignment is a must do for students taking this course. The second computer network application is very a rewarding one for me to finish with gains on concepts of graph as well as programming stretch with my hands dirty.

    Helpful(0) Unhelpful(0)You have already voted this
  10. Avatar

    Michal J

    Good for it lovers

    Helpful(0) Unhelpful(0)You have already voted this
  11. Avatar

    Alexandrov D

    Thanks )

    Helpful(0) Unhelpful(0)You have already voted this
  12. Avatar

    Ian B

    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.

    Helpful(2) Unhelpful(0)You have already voted this
  13. Avatar

    Arthur–Lance

    thanks a lot

    Helpful(0) Unhelpful(0)You have already voted this
  14. Avatar

    Arthur Lance

    thanks a lot

    Helpful(0) Unhelpful(0)You have already voted this
  15. Avatar

    Rachel K

    The project based course structure works really well for the material. This was a great course!

    Helpful(0) Unhelpful(0)You have already voted this
  16. Avatar

    Marcello F

    Great course !

    Helpful(0) Unhelpful(0)You have already voted this
  17. Avatar

    Arnob B

    Last assignment was a bit weird but great course otherwise!

    Helpful(0) Unhelpful(0)You have already voted this
  18. Avatar

    Nathaniel B

    Excellent course!

    Helpful(0) Unhelpful(0)You have already voted this
  19. Avatar

    Y A

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

    Helpful(0) Unhelpful(0)You have already voted this
  20. Avatar

    Zou S

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

    Helpful(0) Unhelpful(0)You have already voted this
  21. Avatar

    Ganapathi N K

    Superb

    Helpful(0) Unhelpful(0)You have already voted this
  22. Avatar

    Edwin R

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

    Helpful(0) Unhelpful(0)You have already voted this
  23. Avatar

    Alvin L

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

    Helpful(3) Unhelpful(0)You have already voted this
  24. Avatar

    Albert C G

    Great Class Truly makes you think

    Helpful(0) Unhelpful(0)You have already voted this
  25. Avatar

    Michael B R

    Another great course in this specialization!

    Helpful(0) Unhelpful(0)You have already voted this
  26. Avatar

    Jaehwi C

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

    Helpful(0) Unhelpful(0)You have already voted this
  27. Avatar

    Siwei L

    Very helpful course!!

    Helpful(0) Unhelpful(0)You have already voted this
  28. Avatar

    Wynand

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

    Helpful(0) Unhelpful(0)You have already voted this
  29. Avatar

    Andrew F

    Another fantastic course from the team at Rice thank you!

    Helpful(0) Unhelpful(0)You have already voted this
  30. Avatar

    Marton A N

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

    Helpful(1) Unhelpful(0)You have already voted this
  31. Avatar

    Julian O

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  32. Avatar

    Aaron M

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

    Helpful(0) Unhelpful(0)You have already voted this
  33. Avatar

    Tairan Y

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

    Helpful(0) Unhelpful(0)You have already voted this
  34. Avatar

    Vern K

    Course and assignments were very well thought out and informative.

    Helpful(0) Unhelpful(0)You have already voted this
  35. Avatar

    Jayadev H

    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!

    Helpful(0) Unhelpful(0)You have already voted this
  36. Avatar

    Artur P

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  37. Avatar

    Olga T

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  38. Avatar

    Rita I G

    Good course!!

    Helpful(0) Unhelpful(0)You have already voted this
  39. Avatar

    Rudy H

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  40. Avatar

    Gerardo G

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

    Helpful(0) Unhelpful(0)You have already voted this
  41. Avatar

    Max B

    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!

    Helpful(1) Unhelpful(0)You have already voted this
  42. Avatar

    Deepak V

    It was a good learning experience

    Helpful(0) Unhelpful(0)You have already voted this
  43. Avatar

    Adam C

    Great course!

    Helpful(0) Unhelpful(0)You have already voted this
  44. Avatar

    Zoltan T

    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…

    Helpful(2) Unhelpful(0)You have already voted this
  45. Avatar

    Eul S S

    E

    Helpful(0) Unhelpful(0)You have already voted this
  46. Avatar

    Maysam Q R

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  47. Avatar

    Deepthi V J

    good one

    Helpful(0) Unhelpful(0)You have already voted this
  48. Avatar

    Jeffrey C

    Very challenging course

    Helpful(0) Unhelpful(0)You have already voted this
  49. Avatar

    Daniel W

    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)

    Helpful(0) Unhelpful(0)You have already voted this
  50. Avatar

    Justin M

    Very challenging course, but I did enjoy the content quite a lot. The programming assignments were well structured and built upon one another to the point that the final graph resilience project took me an entire weekend to complete, but greatly expanded my understanding of both python data structures and how to represent graphs using them.

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Price tracking

    Register New Account
    Reset Password
    Compare items
    • Total (0)
    Compare