This textbook introduces the vast array of features and powerful mathematical functions of Mathematica using a multitude of clearly presented examples and worked-out problems. Each section starts with a description of a new topic and some basic examples. The author then demonstrates the use of new commands through three categories of problems - the first category highlights those essential parts of the text that demonstrate the use of new commands in Mathematica whilst solving each problem presented; - the second comprises problems that further demonstrate the use of commands previously introduced to tackle different situations; and - the third presents more challenging problems for further study. The intention is to enable the reader to learn from the codes, thus avoiding long and exhausting explanations. While based on a computer algebra course taught to undergraduate students of mathematics, science, engineering and finance, the book also includes chapters on calculus and solving equations, and graphics, thus covering all the basic topics in Mathematica. With its strong focus upon programming and problem solving, and an emphasis on using numerical problems that do not need any particular background in mathematics, this book is also ideal for self-study and as an introduction to researchers who wish to use Mathematica as a computational tool. This new edition has been extensively revised and updated, and includes new chapters with problems and worked examples.