This book is a practical teach-yourself manual of program development based on the Jackson approach to program and system design. It is both a student textbook and a training manual for programmers, proceeding from simple batch and interactive programs to complex multi-user real-time applications and using numerous worked-through examples of the kind found in data processing (DP) environments. The core of the book is the Jackson Structured Programming (JSP) design method, all aspects of which are explained in detail. Other tasks in the program development process, eg. coding and testing, are explained in relation to JSP, and a final chapter extends the exposition into the realm of system development. Each chapter in the book has a section of exercises to which outline solutions are provided in an appendix.