Why we use Mathematica / Wolfram Language for programming labs

This course could be taught in any language so the choice is largely one of preference. You will be able to apply the knowledge you learn in any language you choose to program in. This course includes both sequence analysis and mathematical modeling with Ordinary Differential Equations (ODEs). In the past I tried having students program in Java for the sequence analysis part and MatLab for the ODE part. Switching languages was a big pain with a lot of cognitive overhead. Mathematica is convenient for both sequence analysis and ODE modeling.

Mathematica has a wide range of functions developed consistently within a single framework and set of interface conventions.

I like the mathematical generality of Mathematica, the elegant way in which functionality is packaged into functions with highly intuitive, fully spelled out names, the consistent interfaces, and the awesome interactive graphics features.

When you program for your own research you can of course use any language you like. There are good arguments to be made for R, which has many academic freeware packages available, though they won't have the kind of consistent interface, optimized implementation, and detailed documentation that Mathematica functions have. But many of you will probably come to love Mathematica so much that you choose to write your own code in Mathematica and use programs or subroutines written in other languages either by direct system calls and file-based communications or through the built-in interlanguage links, such as J/Link.