This class consists of two parts that are each four weeks long and cover two Modules. For each Module, you will watch a set of videos and complete three assessments. First, you will complete a Homework that covers the theory portion of the Module. This assessment is delivered as a standard Coursera-style quiz. Next, you will implement a Project in Python using the algorithms covered in the Module. This Project will be assessed by a machine-grader developed for the class. Finally, you will complete an Application in which you use the theory that you have learned as well as your implementation to analyze a problem of practical significance. This portion of the Module is peer-assessed.
|1||1||Graphs and brute-force algorithms||Degree distributions for graphs||Analysis of citation graphs|
|1||2||Algorithmic efficiency and BFS||Connected components and graph resilience||Analysis of a computer network|
|2||3||Divide and conquer||Closest pairs and clustering algorithms||Comparison of clustering algorithms|
|2||4||Dynamic programming||Alignment of sequences||Applications to genomics and beyond|