The term "Bioinformatics" can have many meanings. To some, it may mean the skills necessary to access large data sets through web pages. To others, it may refer to general biology research that is performed using computers. But perhaps the most technical definition specifies the development of computer algorithms and software to solve biological problems. This book will provide insights into algorithms and software development skills that will help the reader to develop or modify software so solve biological problems. Examples of bioinformatics solutions include DNA analysis to determine coding regions, secondary structure, protein folding and the phenotypes associated with DNA. Bioinformatics is also necessary to perform association studies linking Single Nucleotide Polymorphisms (SNPs) to genetic diseases. Sophisticated algorithms to determine the relationship between organisms and their phylogenetic evolutionary history are also important to bioinformatics. And there are are a large number of other topics like Mass Spectrometry that require bioinformatics to analyze the results of an experiment. This book will focus on the algorithms needed to perform many of these tasks. This topic falls in the overlap between Biology, Genetics, Statistics and Computer Science, so input is welcome from all interested parties. Foreword by Pchapman12345