This document provides a preface and table of contents for a book on algorithms and data structures. The preface discusses how programming has advanced from a craft to an academic discipline, with contributions from Dijkstra and Hoare. It notes that data structures and algorithms are intertwined subjects. The book begins with a chapter on fundamental data structures to provide objects to operate on before discussing algorithms. It follows Hoare's theory of distinguishing between fundamental and advanced structures. The table of contents outlines chapters on data structures, sorting algorithms, recursive algorithms, and dynamic data structures like trees and hashing.