You are free to use these materials. If you do, please sign the guestbook at the bottom of this page and say briefly how you’re using them.

### Full courses online

- Algorithms for DNA Sequencing
- Full course on Coursera
- Lectures on YouTube (55 lectures, about 7 minutes each)
- Lecture notes on GitHub
- Practical IPython/Jupyter notebooks on GitHub

### Recorded lectures

### Lecture notes and IPython/Jupyter notebooks

- Introductory
- Strings and matching
- Strings and exact matching
- Notebook: Strings in Python
- Notebook: Naive exact matching
- Boyer-Moore
- Notebook: Z algorithm
- Notebook: Boyer-Moore
- Approximate matching
- Notebook: Naive approximate matching
- Notebook: Pigeonhole principle

- Indexing
- Indexing with substrings
- Notebook: Hash table substring index
- Notebook: Grouped and ordered indexes
- Tries and suffix tries
- Notebook: Trie map
- Notebook: Suffix trie
- Suffix trees
- Notebook: Suffix tree
- Suffix arrays
- Notebook: Binary search
- Notebook: Suffix-array binary search
- Notebook: Longest common prefix
- Notebook: From suffix tree to LCP/suffix array
- Burrows-Wheeler Transform and FM Index
- Notebook: Burrows-Wheeler Transform
- Notebook: Reversing the BWT
- Notebook: FM Index

- Sequence alignment
- Dynamic programming and edit distance
- Variations on edit distance
- Notebook: Approximate matching dynamic programming
- Notebook: Longest common subsequence (LCS)
- Global alignment
- Notebook: Global alignment
- Local alignment
- Notebook: Local alignment
- Dynamic programming in less time and space
- Index-assisted approximate matching and read alignment
- Notebook: Index-assisted pigeonhole principle
- Notebook: String neighborhoods
- Notebook: Co-traversal with FM Index

- Assembly
- Assembly & Shortest Common Superstring
- Notebook: Brute-force SCS
- Notebook: Finding overlaps
- Notebook: Greedy SCS
- Overlap Layout Consensus assembly
- De Bruijn Graph assembly
- Notebook: Simple De Bruijn graph
- Notebook: De Bruijn graph
- Error correction
- Notebook: Error correction
- Scaffolding

- Sequence models and classification
- Motivation: epigenetics and CpG islands
- Markov chains
- Notebook: Markov chains
- Notebook: High-order Markov chains
- Hidden Markov models
- Notebook: Hidden Markov Model
- Genes and gene finding
- File formats
- Miscellaneous
- Notebook: Radix sort
- Notebook: Min hashing
- Notebook: Minimizers
- Notebook: RepeatMasker

## 59 Comments

Ben – Thanks for the great illustrations in your BWT/FM and assembly slides. We are using them in my graduate subject at MIT. Job well done! David Gifford

Hi Ben, I’m using some of these slides in the Comp. Bio. course here at Stony Brook. Thanks for providing this resource; it’s really useful!

Hi Ben – I am using some of your slides in my computational genomics class at the University of Illinois at Urbana-Champaign. Thank you very much for the great resource! — Jian Ma

I have used some slides for an avolutionary genomics and genomics method class – thanks a lot!

Thanks so much for making this material available. I made use of the De Bruijn Graph code to have students interactively explore small De Bruijn Graphs, see https://github.com/lexnederbragt/INF-BIOx121_fall2014_de_novo_assembly under ‘practicals’

Great slides, thanks for making them available. I am using some of the assembly slides in a genome assembly workshop organized by the informatics group in Research Computing at Harvard.

Hi Ben — thanks for the slides (and for TopHat). I’m using the de Bruijn graph slides for an Intro to Comp Bio course for CS undergraduates.

Thanks for posting teaching materials Ben. I am using some of your slides in an applied genomics course at New York University

Hi Ben, I’m using some of your slides in a a viral biodiversity course here at University of Brasilia- Brazil. Thanks for sharing your teaching material. Fernando

Thanks so much for making this material public! I have adapted much of the material on the BW transform and the FM index (which you present in an incredibly lucid way!) for a lecture in my Genomics course at the Free University Berlin.

Thank you for your material!! I plan to use some of your slides for a part of the course Programming for Bioinformatics at University of Bologna.

Thank you for making your slides available Professor Langmead. Best concise description of de Bruijn graph assembly I have found. I am using them to develop an understanding of genome assemblers for a rotation project at Stanford.

I have found your lecture slides on the topic Edit Distance useful and decided to use it, partially or fully. I hope that the rest of the material on this page is also useful. Thank you so much for such a nice platform for the subject of algorithms. I am going to use this lecture during a course “Advance Analysis of Algorithms” at graduate level at University of Sargodha, Pakistan.

Hi Ben,

just downloaded them for personal use. Brilliant talk on FM and BWT!!

Hi, I used the De Bruin Graph Assembly presentation to help me understand the algorithm in my research. Thank you!

Thank you for providing such a wonderful resource! I am using your some of your lecture slides on de Bruijn Graph assembly in an Intro to Computational Biology graduate course at the University of Minnesota.

Thank you for making your slides available. They are very well informed and goes into immense detail. We are planning on using these slides, at reference De Brujin modeling for sequencing, for our bioinformatics presentation.

Thanks Ben for these nice slides. I will use some slides from the assembly slide deck for a bioinformatics course at Kansas State University.

Using figure as part of a informatics summer course at the University of Iowa — Thanks!

Taking online courses (edX MOOCs) in BioInformatics by professors at UC San Diego. This looks like a wealth of great supporting material

Hi Ben,

I use these to learn about bioinformatics myself, and also to teach others at Public Health England.

Thanks!

Phil

Thanks for the materials. I will use some of the slides for a computational genomics course at Uconn.

Hi Ben – Thanks so much for making this wonderful material public! I have used or adapted some slides for my computational genomics introductory class at the Universidad Autonoma de Madrid.

Awesome lectures with super-awesome analogies. Please more advanced courses on Coursera or even a specialization on Computational Biology.

Thanks for making your slides / material public. I am training graduates in NGS specifically, and your material makes for wonderful references – along with the published work. Much appreciated.

Regards,

Thanks so much for making these slides available. I’m adapting some of the assembly slides for an intro bioinformatics class.

Introductory Bioinformatics elective @ CS Engineering, Amrita University

I adapted your notes on strings and matching to give a brief tutorial to members of my lab (MSK) – thanks.

Ben, thank you so much for making your slides public. I am studying the ones about BWT and FM-Index in addition to your video-lectures in preparation for a presentation on Bowtie/Bowtie2 at a ‘NGS methods” seminar at Ludwig-Maximillian University, Munich.

Thanks for these – I’m using some bits and pieces in a seminar on high-throughput sequencing in microbiology at the Mahidol-Oxford Research Unit in Bangkok, Thailand.

Dear Ben, thank you for great teaching material. I am using your slides in an NGS course at the University of Warsaw,

with best wishes,

Ewa Szczurek

Dear Ben, Thank you for sharing such a great teaching material with us. I am contenting several slides in a Computational Biology course at Upenn.

Best,

Zerry

Thanks! I’m using part of the materials in an Algorithms in Bioinformatics course at the University of Turku, Finland. –Filip

I am using your materials on de Bruijn graph algorithms for genome assembly in my undergraduate class (CS 173)

Hi Ben,

Thank you so much for sharing this nice teaching resource. I am using several slides in a Bioinformatics course at the Universitat Autònoma de Barcelona (degree in Genetics).

Best,

Sònia

Nice work, particularly when education becomes so important in this area.

I am using some slides for an “introduction to bioinformatics” course in the University of Texas GSBS program. Some problem definitions are easy enough for biology students to understand.

Thanks for the contribution, Ben!

Thank you for sharing. I’m using your material about hash tables for an exposition in a Bioinformatics class that I’m taking in The Université de Montreal .

Hi! I used some parts of your slides for a presentation that covered DNA sequencing/assembly/alignment, here at a local tech meetup in Uppsala, Sweden. Thanks!

Thank you for making these slides available! I am using some on de Bruijn graph approaches in my Evolution in Agriculture class at the University of Minnesota Duluth.

Hoping to use in a graduate course on Pattern Matching Algorithms.

Dear Ben,

Thank you very much for sharing your great teaching material. I am using some of your materials in Intro to Bioinformatics course at Saint Louis University.

Best wishes,

Ted

Thanks for sharing! I will be using some slides from the assembly part for a metagenomics course in Barcelona

Nice slides. I’m using some of the slides on assembly for a guest lecture at UC Berkeley.

Ben – Thanks so much for sharing. I’m adapting some of your slides for my computational biology class at Carleton College. -Layla Oesper

Hi Ben, thanks for sharing your slides. I am using parts of your lectures and teaching materials for my Introduction to Genomics class at Princeton University. Mohamed

Hi Ben, awesome job. I’m using some of your slides about de Bruijn graphs and BWT for a genome assembly course at the UANL (Mexico). Many thanks.

Hey there, using your slides as a reference while I do my homework for Bioinformatics Algorithms at Harvard Extension School. Thanks much – DF

Hi Ben, I have taken some of your figures for teaching a BWT class. Thanks much for making this material available. Rayan

Fantastic materials. Using them to teach BMMB554 at Penn State

Hi, thanks for sharing your teaching materials. I am adapting some of the slides for Intro to Bioinformatics course at Okan University.

Hi Ben,

These slides are really great. I am giving a talk to the BIG (Bioinformatics Group) at MIT about Sailfish, kallisto and Salmon and would like to use a couple of these slides to get across the idea of a De Bruijn graph which are essential to kallisto. Thank you for making them available. De Bruijn graphs are not what a lot of biologists are very familiar with and these slides explain them very well.

Ben, thanks for posting these. I am using/adapting some of these for my GENE245 course on Compbio at Stanford.

Ben, thanks for sharing this. I used some of your stuff on indexes for teaching mapping in my Bioinformatics and Systems Biology course. Nice examples.

Ah, forgot to say, I’m at Cal State University, Monterey Bay

Thanks Ben, I grabbed a few slides on alignment and sequencing for background in my class – and directed students to your course next Fall if they wanted more.

Thank you for sharing your slides, Ben. I’ll be borrowing from them for a presentation at Brown University’s ASA DataFest this weekend.

Dear Ben, thanks for sharing the materials. We’re referencing them for our Data Science for Sequencing course at Univ of Washington. They’re really helpful! Best wishes.

Many thanks for the access to the materials, they helped me explain to my friends, classmates and peers about RNA-Sequencing during a group presentation in the University of Puerto Rico Rio Piedras Campus.

Ben, thanks so much for making and publishing these materials! I grabbed some images from the sequence alignment section for a lecture I will be giving in Leiden University.