CMSC 423 · Fall 2026
Lectures
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.
Foundations
-
Introduction
Introduction to the class and some basic bio.
Materials coming soon -
Computational framing of Biological Problems
Lander Waterman & SCS as examples.
Materials coming soon
Exact string matching
-
Exact matching and the Z-box algorithm
Linear time exact matching
Materials coming soon -
Semi-numerical string matching (Rabin-Karp)
Treating strings as numbers & hashing
Materials coming soon
Indexing
-
Suffix Tries and Suffix Trees
The power of indexing
Materials coming soon -
Suffix Arrays
binary search FTW
Materials coming soon -
BWT & FM-index
Optimal search in small space
Materials coming soon
Sequence alignment
-
Edit distance and global alignment
How to compare strings
Materials coming soon -
Semi-global alignment and gap penalties
More dynamic programming
Materials coming soon -
Linear Space Alignment
Don't keep the whole matrix
Materials coming soon
Phylogenomics
-
Phylogenomics
Dynamic programming on trees
Materials coming soon
Gene expression
-
Gene expression estimation from RNA-seq
How to count
Materials coming soon
Genome assembly
-
The de Bruijn Graph
Thinking about k-mers
Materials coming soon -
Efficient representation of the de Bruijn graph
small space dBG
Materials coming soon