In this module, we'll begin our exploration of algorithms for analyzing DNA sequencing data. We'll discuss DNA sequencing technology, its past and present, and how it works. And we'll learn more about DNA and genomes, and we'll learn how genomes can be represented as strings. And this observation is the key that really unlocks the entire rest of the course. It allows us to take methods from computer science that were invented for other kinds of strings like books and webpages and files on your hard drive, and apply them to DNA. We'll also define the two computational problems that motivate our technical discussions for the entire rest Some of the class. So they re-aligned that problem one and the assembly problem is the other. The rest of this course is divided as roughly into halves, where we will discuss foundational algorithms and data structures for those two control problems. In the practical sessions of homeworks in this module you'll be working with real genomes and real sequencing data including some human data And you will start to write software to analyze these data. You will learn to work with some important file formats that we'll use again and again, and you will look at some basic patterns and sequencing data. So finally we're going to discuss something called the naive exact matching algorithm. This is a simple, flexible, but not a very fast algorithm for finding patterns in text. And then in the next module, we'll discuss modules that are a bit more clever and that use some new data structures as well.