Algorithmic Thinking (Part 2)
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: 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 se…
Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: 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.
Created by: Rice University-
Taught by: Luay Nakhleh, Associate Professor
Computer Science; Biochemistry and Cell Biology -
Taught by: Scott Rixner, Professor
Computer Science -
Taught by: Joe Warren, Professor
Computer Science
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
CertificatesEarn official recognition for your work, and share your success with friends, colleagues, and employers.
Rice University Rice University is consistently ranked among the top 20 universities in the U.S. and the top 100 in the world. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy.Syllabus
WEEK 1
Module 3 - Core Materials
Sorting, searching, big-O notation, the Master Theorem
13 videos, 2 readings expand
- Video: What is Algorithmic Thinking?
- Video: The sorting problem
- Video: A simple quadratic algorithm
- Video: Illustrating MergeSort
- Video: The recurrence for MergeSort
- Video: The Master Theorem and MergeSort efficiency
- Video: Linear vs. binary search
- Video: Efficiency of binary search
- Video: Class structure (from part 1)
- Reading: Class notes
- Reading: Coding notes
- Video: Coding styles and standards - PoC
- Video: Testing and machine grading - PoC
- Video: Plotting data - PoC
- Video: Peer assessment - "We want a shrubbery!" - IIPP
Graded: Homework #3
WEEK 2
Module 3 - Project and Application
Closest pairs of points, clustering of points, comparison of clustering algorithms
4 readings expand
- Reading: Project #3 Description
- Reading: Tests and Tips for Implementing the Clustering Methods
- LTI Item: Project Submission History
- Reading: Application #3 Description
- Reading: Application #3 Solution
Graded: Assignment: Closest Pairs and Clustering Algorithms
Graded: Comparison of Clustering Algorithms
WEEK 3
Module 4 - Core Materials
Dynamic programming, running time of DP algorithms, local and global sequence alignment
7 videos expand
- Video: The RNA secondary structure problem
- Video: A dynamic programming algorithm
- Video: Illustrating the DP algorithm
- Video: Running time of the DP algorithm
- Video: DP vs. recursive implementation
- Video: Global pairwise sequence alignment
- Video: Local pairwise sequence alignment
Graded: Homework 4
WEEK 4
Module 4 - Project and Application
Computation of sequence alignments, applications to genomics and text comparison
1 video, 3 readings expand
- Reading: Project #4 Description
- Reading: Application #4 Description
- Reading: Application #4 Solution
- Video: Class wrap-up
Graded: Assignment: Computing Alignments of Sequences
Graded: Applications to Genomics and Beyond
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.