Lecture topics are organized by course unit. Materials will be added as we cover them. In general, you can expect the slides for a lecture to go up the day of that lecture before class. The unit structure below is broad and we will generally follow it; some specific lectures may be added, removed, or rearranged based on the speed at which we cover topics.

Unit 01

Foundations

  1. Introduction

    Introduction to the class and some basic bio.

    Materials coming soon
  2. Computational framing of Biological Problems

    Lander Waterman & SCS as examples.

    Materials coming soon
Unit 02

Exact string matching

  1. Exact matching and the Z-box algorithm

    Linear time exact matching

    Materials coming soon
  2. Semi-numerical string matching (Rabin-Karp)

    Treating strings as numbers & hashing

    Materials coming soon
Unit 03

Indexing

  1. Suffix Tries and Suffix Trees

    The power of indexing

    Materials coming soon
  2. Suffix Arrays

    binary search FTW

    Materials coming soon
  3. BWT & FM-index

    Optimal search in small space

    Materials coming soon
Unit 04

Sequence alignment

  1. Edit distance and global alignment

    How to compare strings

    Materials coming soon
  2. Semi-global alignment and gap penalties

    More dynamic programming

    Materials coming soon
  3. Linear Space Alignment

    Don't keep the whole matrix

    Materials coming soon
Unit 05

Phylogenomics

  1. Phylogenomics

    Dynamic programming on trees

    Materials coming soon
Unit 06

Gene expression

  1. Gene expression estimation from RNA-seq

    How to count

    Materials coming soon
Unit 07

Genome assembly

  1. The de Bruijn Graph

    Thinking about k-mers

    Materials coming soon
  2. Efficient representation of the de Bruijn graph

    small space dBG

    Materials coming soon