Courses Taught

Selected Computational Biology and Algorithms Classes at MIT

6.881 - Computational Personal Genomics: Making sense of complete genomes.  With the growing availability and lowering costs of genotyping and personal genome sequencing, the focus has shifted from the ability to obtain the sequence to the ability to make sense of the resulting information. This course is aimed at exploring the computational challenges associated with interpreting how sequence differences between individuals lead to phenotypic differences such as gene expression, disease predisposition, or response to treatment. It will cover the computational challenges associated with personal genomics, such as genotype phasing and haplotype reconstruction, exploiting linkage for variant imputation, ancestry painting for admixed genomes, predicting likely causal variants using functional or comparative genomics annotations of coding and non-coding elements, relating regulatory variation to gene expression or chromatin state changes, measuring recent evolution and human selection, using systems biology and network information for understanding weak contributions, and the challenge of deciphering complex multi-genic traits such as height, Alzheimer's, diabetes, or cancer. Students will read and discuss seminal papers in the area, download and use existing tools, write their own software to interpret existing human genomes, and discuss limitations, challenges, and ethical, legal and social implications.


6.047/6.878 - Computational Biology: Genomes, Networks, Evolution. Covers the algorithmic and machine learning foundations of computational biology, combining theory with practice. We study the principles of algorithm design for biological datasets, and analyze influential problems and techniques. We use these to analyze real datasets from large-scale studies in genomics and proteomics.  

•Genomes Biological sequence analysis, hidden Markov models, gene finding, RNA folding, sequence alignment, genome assembly.  

•Networks Gene expression analysis, regulatory motifs, graph algorithms, scale-free networks, network motifs, network evolution.

•Evolution Comparative genomics, phylogenetics, genome duplication, genome rearrangements, evolutionary theory, rapid evolution.


6.046: Design and Analysis of Algorithms (6.006 as a pre-requisite), mostly serving as an entry point to theory courses, and targeting junior and senior students interested in specializing in theory.   


6.006: Introduction to Algorithms. 6.006 is a more practical course with programming assignments and a greater emphasis on real-world applications of the algorithms and techniques taught.

Learn More

Learn more on the Stellar MIT Course Management System