MIT OpenCourseWare (OCW)FreeClosed [?]Computer SciencesBefore 1300: Ancient and Medieval HistoryBeginnerBiology%252525252B&%252525252BLife%252525252BSciences.htm%252525253Fcategoryid%252525253D7.htm%25252EvaluationInforInformation environments
This is a graduate course on the design and analysis of algorithms, covering several advanced topics not studied in typical introductory courses on algorithms. It is especially designed for doctoral students interested in theoretical computer science.
CourseraFreeClosed [?]Computer SciencesEnglishBabsonXBeginnerBiology%252525252B&%252525252BLife%252525252BSciences.htm%252525253Fcategoryid%252525253D7.htm%25252EvaluationNutritionWebsite Development
Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This 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.
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers basic iterable data types, sorting, and searching algorithms.
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
In this course you will learn several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures (heaps, hash tables, search trees), randomized algorithms, and more.
In this course you will learn several fundamental principles of advanced algorithm design: greedy algorithms and applications; dynamic programming and applications; NP-completeness and what it means for the algorithm designer; the design and analysis of heuristics; and more.
This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. In addition, this course covers generating functions and real asymptotics and then introduces the symbolic method in the context of applications in the analysis of algorithms and basic structures such as permutations, trees, strings, words, and mappings.
This course was the first in a two-part series covering some of the algorithms underlying bioinformatics. It has now been split into three smaller courses.
This is the second course in a two-part series on bioinformatics algorithms, covering the following topics: evolutionary tree reconstruction, applications of combinatorial pattern matching for read mapping, gene regulatory analysis, protein classification, computational proteomics, and computational aspects of human genetics.
This course teaches the concepts and computational methods in the exciting interdisciplinary field of bioinformatics and their applications in life sciences. The lectures are taught in both Mandarin Chinese and English with slides in English.
生物信息学是一门新兴的生命科学与计算科学的前沿交叉学科。本课程讲授生物信息学主要概念和方法,以及如何应用生物信息学手段解决生命科学问题。本课程同时提供中文普通话授课和英文授课两个版本,以及英文幻灯片。
Are you interested in learning how to program (in Python) within a scientific setting?
This course will cover algorithms for solving various biological problems along with a handful of programming challenges helping you implement these algorithms in Python. It offers a gentler-paced alternative to the first course in our Bioinformatics Specialization (Finding Hidden Messages in DNA).
Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.
Learn the concepts and methods of linear algebra, and how to use them to think about computational problems arising in computer science. Coursework includes building on the concepts to write small programs and run them on real data.
Modéliser un problème, concevoir un algorithme de résolution et en proposer une implémentation correcte. Du problème à sa solution, ce cours combine approches pragmatique, pratique et théorique de l'informatique.