Fundamentals of Bioinformatics
Course Number: 02-604
How do we find potentially harmful mutations in your genome? How can we reconstruct the Tree of Life? How do we compare similar genes from different species? These are just three of the many central questions of modern biology that can only be answered using computational approaches.
This 12-unit course will delve into some of the fundamental computational ideas used in biology and let students apply existing resources that are used in practice every day by thousands of biologists. The course offers an opportunity for students who possess an introductory programming background to become more experienced coders within a biological setting. As such, it presents a natural next course for students who have completed 02-601.
Key Topics:
Identifying replication origins in bacterial genomesRandomized algorithms for motif finding in DNA sequences
Graph-based algorithms for genome assembly
Brute-force algorithms for antibiotic analysis
Dynamic programming algorithms for sequence alignment
Combinatorial algorithms for genome rearrangement analyses
Evolutionary tree construction algorithms
Clustering algorithms for gene expression analyses
Combinatorial pattern matching algorithms applied to DNA read mapping
Hidden Markov models for comparing rapidly mutating genetic sequences
Statistical analysis for computational proteomics
Semester(s): Spring
Units: 12
Prerequisite(s): A solid background in introductory programming (such as that provided by 02-601) is essential. Some knowledge of basic algorithms and data structures is also helpful. Background biology knowledge is not needed.
Textbook(s):
Learning Objectives
This course has two primary goals:1. Hack a large selection of algorithms that are fundamental to an understanding of modern
computational biology.
2. Obtain a practical "toolkit" for computational biology by learning how these algorithms are
applied in existing software resources.
Along the way, the course offers a setting for students to take the next steps to become much
stronger programmers.
Assessment Structure:
- Comprehension quizzes. (10% of grade)
- Weekly write up and participation (10% of grade)
- Programming assignments. (40% of grade)
- Bioinformatics Software challenges. (10% of grade)
- Midterm. (10% of grade)
- Final exam (20% of grade)
