This textbook is intended for an undergraduate/graduate course on computer networks and for introductory courses dealing with performance evaluation of computers, networks, grids and telecommunication systems. Unlike other books on the subject, this text presents a balanced approach between technology and mathematical modeling. It covers networking and grid technology, algorithms (routing, error codes, protocol verification) and analysis (probability for networking with technological examples, queueing models and divisible load scheduling theory). This self-contained text progresses systematically and gives students numerous problems at the end of each chapter. Students in electrical engineering, computer engineering and computer science departments will benefit from this book as will engineers and computer scientists working in relevant fields. A separate solutions manual is available to instructors.