Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Rice University

Algorithmic Thinking (Part 2)

Rice University via Coursera


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 class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems. In part 2 of this course, we will study advanced algorithmic techniques such as divide-and-conquer and dynamic programming. As the central part of the course, students will implement several algorithms in Python that incorporate these techniques 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. Once students have completed this class, they will have both the mathematical and programming skills to analyze, design, and program solutions to a wide range of computational problems. While this class will use Python as its vehicle of choice to practice Algorithmic Thinking, the concepts that you will learn in this class transcend any particular programming language.


  • Module 3 - Core Materials
    • Sorting, searching, big-O notation, the Master Theorem
  • Module 3 - Project and Application
    • Closest pairs of points, clustering of points, comparison of clustering algorithms
  • Module 4 - Core Materials
    • Dynamic programming, running time of DP algorithms, local and global sequence alignment
  • Module 4 - Project and Application
    • Computation of sequence alignments, applications to genomics and text comparison

Taught by

Luay Nakhleh, Scott Rixner and Joe Warren


4.4 rating, based on 9 Class Central reviews

4.7 rating at Coursera based on 214 ratings

Start your review of Algorithmic Thinking (Part 2)

  • Félix Pérez
  • Raphael Favero
  • Rafael Prados
  • Ines
  • Anonymous
  • Steven Peterson
  • Profile image for Alex Ivanov
    Alex Ivanov

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.