This book is an introduction to Prolog (£rQgramming in ~ic). It presents the basic foundations of Prolog and basic and fundamental programming methods. This book is written for programmers familiar with other programming languages, as well as for novices in computer science, willing to have an original introduction to programming. The approach adopted in this book is thus based on methodological elements together with some pragmatic aspects. The book is composed of two parts. In the fIrst part the major aspects of programming in Prolog are presented step by step. Each new aspect is illustrated by short examples and exercises. The second part is composed of more developed examples, which are often games, that illustrate major aspects of artifIcial intelligence. More advanced books are given in the bibliography and will allow the reader to deepen his or her know ledge of Prolog. Prolog was first designed in France at OJ.A., Marseille, with a specific syntax. We have adopted here a more common notation, defIned at Edinburgh, which tends to be an implicit norm. At the end of each chapter of the fIrst part, there are exercises that the reader is invited to do and to test on his or her machine. Complete answers are given in Appendix A, at the end of the book.