knp.de

– Book Review: Programming with Mathematica®

Book Review: Programming with Mathematica®

03/21/2015

This entry is my first try to write a blog entry as a slideshow with notes.

The full title is "Programming with Mathematica® – an Introduction" by Paul Wellin. I read this book with my Safari Bookshelf, so I can only speak for the online version.

Contents overview

It is not a full reference, but shows the most important elements with there most common usages. Exercises at the end of each chapter deepen the understanding and introduce some less common used elements.

Basics

  • Expressions,
  • Definitions,
  • Lists, and
  • Patterns.
In chapter 5 the real programming starts with the introduction of functional programming. It is a soft introduction, with the lambda calculus in form of pure functions, but postponing recursion to a later chapter.

5: Functional programming

  • Easy introduction, and
  • no recursion.
Before starting with the functions that call themselves, a chapter about procedural programming is inserted. It copes with all forms of loops.

6: Procedural programming

  • all about loops.
Not as frightening as it sounds.

7: Recursion

The third part of the book introduces special topics.

Special topics

  • numerics,
  • strings,
  • graphics,
  • dynamic expressions,
  • performance, and
  • packaging.

What I liked about the book

I enjoyed the small examples that try to present different elements of the vast domain that Mathematica can be applied to.

The Author gives a brief explanation of the data used. So besides the programming, you will learn a glimpse of chemistry, biology, economics and more.

Nice Examples

  • Stock Charts,
  • Human Genome,
  • Visualizing Molecules,
  • etc.

I really loved the behind the scenes looks in the graphics and dynamics chapters. Paul describes, how the high level functions use the basic building blocks to achieve their goal. This helped me to understand the mechanics of Mathematica.

Behind the Scenes

  • Graphics,
  • Dynamics,
  • Performance.

What I didn't like so much

A small number of graphics are mixed up, some are repeated and some are missing. You can still get the gist, but it interrupts the reading flow.

Graphics mixed up

A second problem is, that some chapters reference a custom module, that is introduced in the last chapter. Especially in ebooks it is not so easy to jump between different parts of the book.

Forward References

Some functions were used before they were introduced. But you can look them up in the Mathematica online documentation.

Undefined Functions

As a last point, would like to have a stronger focus on packages and larger programs. Unit-Tests are not mentioned at all. The book keeps to the notebook based approach.

No big programs

Summary

The book was a fun to read and helped me a lot in refreshing my Mathematica knowledge. Some aspects were new to me. I can recommend this book to anyone, who wants to start with Mathematica.

Good Introduction

It is no reference, but a very readable introduction.

Not a Reference

It is not cheap, but thankfully included in Safari Bookshelf.


Comments

Would you like to correct, expand or correct an entry? Please send an e-mail to timm@knp.de. I will gladly publish interesting contributions on this site.