CSE477 - Processing of Strings and Sequences

Spring 2024

Course Information


Dr. Jaroslaw Zola

For all email communication, please make sure to add prefix [PSS] to mail subject.

Course Description

This course is intended for students interested in learning efficient techniques for processing and analyzing large text collections, such as large-scale system logs, massive text corpora or databases of DNA sequences. The main focus is on classic algorithms and data structures for strings and sequences, including pattern matching, pairwise comparison, indexing and searching, as well as probabilistic methods, like fingerprinting and hashing. The theoretical component is complemented by practical considerations regarding efficient implementations of the discussed algorithms, and their applications in the real-world systems. The example applications include tools like UNIX grep, frameworks for plagiarism detection, as well as tools driving computational biology (e.g., BLAST, DNA assemblers, etc.). The course has also a programming component, in which students implement in their language of choice small but fully functional text processing applications.

This course is the Theory/Algorithms focus area course at CSE.


You can download full syllabus from here.


Course resources are available from here (password required).

Copyright 2023-2024 Jaroslaw Zola jzola@buffalo.edu