Parts of this text were used for several years by students in a one~term under- graduate course in computer science. The students had to prepare projects in small groups (2~4 students).1 This book emphasizes practical experience with image processing. It offers a comprehensive study of * image processing and image analysis, * basics of speech processing, * object~oriented programming, * software design, * and programming in C++. The book is divided into four parts. In the first part we introduce image processing, image analysis, programming tools, and the basics of C++. In the second part we describe object~oriented programming in general and the possible applications of object~oriented concepts in C++. Several appli- cations of object~oriented programming for image processing are discussed as well. The new features of C++ are introduced entirely through the use of examples. We cover the proper representation of the data that is a result of pattern analysis as well. The third part describes a complete system for image segmentation. Some of the material covered refers to the exercises found in the first and second parts: this verifies our belief that an image segmentation system of programs can be developed while simultaneously acquainting others to C++. We combine the data representation described in the second part with the algorithms that use and manipulate them here in the third part.