关键信息
关于内容
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.
课程大纲
- Week 1 - Module 3 - Core Materials
Sorting, searching, big-O notation, the Master Theorem - Week 2 - Module 3 - Project and Application
Closest pairs of points, clustering of points, comparison of clustering algorithms - Week 3 - Module 4 - Core Materials
Dynamic programming, running time of DP algorithms, local and global sequence alignment - Week 4 - Module 4 - Project and Application
Computation of sequence alignments, applications to genomics and text comparison
教师
Luay Nakhleh
Associate Professor
Computer Science; Biochemistry and Cell Biology
Scott Rixner
Professor
Computer Science
Joe Warren
Professor
Computer Science
内容设计师

平台

Coursera是一家数字公司,提供由位于加利福尼亚州山景城的计算机教师Andrew Ng和达芙妮科勒斯坦福大学创建的大型开放式在线课程。
Coursera与顶尖大学和组织合作,在线提供一些课程,并提供许多科目的课程,包括:物理,工程,人文,医学,生物学,社会科学,数学,商业,计算机科学,数字营销,数据科学 和其他科目。