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.
-
Computational framing of Biological Problems
Lander Waterman & SCS as examples.
Exact string matching
-
Exact matching and the Z-box algorithm
Linear time exact matching
-
Semi-numerical string matching (Rabin-Karp)
Treating strings as numbers & hashing
Indexing
-
Suffix Tries and Suffix Trees
The power of indexing
-
Suffix Arrays
binary search FTW
-
BWT & FM-index
Optimal search in small space
Sequence alignment
-
Edit distance and global alignment
How to compare strings
-
Semi-global alignment and gap penalties
More dynamic programming
-
Linear Space Alignment
Don't keep the whole matrix
Phylogenomics
-
Phylogenomics
Dynamic programming on trees
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