Essentials of Programming in Mathematica provides an introduction suitable for readers with little or no background in the language as well as for those with some experience using programs such as C, Java, or Perl. The author, an established authority on Mathematica programming, has written an example-driven text that covers the language from first principles, as well as including material from natural language processing, bioinformatics, graphs and networks, signal analysis, geometry, computer science, and many other applied areas. The book is appropriate for self-study or as a text for a course in programming in computational science. Readers will benefit from the author's tips, which provide insight and suggestions on small and large points. He also provides more than 350 exercises from novice through to advanced level with all of the solutions available online.