This book has two primary objectives: to teach the basic principles of programming in Java and MATLAB as outlined in curricula at many leading universities, and to teach the basic constructs of the Java language and the MATLAB language. In addition, this book is designed to be used in a programming course using the Java or MATLAB languages. The concept of "learning by example" has been stressed throughout this book. Each chapter contains many examples, exercises and programs. These programs also demonstrate the general software engineering concepts and principles of good programming style.