So far on this blog we’ve assumed familiarity with the programming languages used (at the time of this writing, this is Mathematica and Java). This is unfair for the mathematicians who have little to no programming experience, and we admit that some readers tend to skim those technical sections with source code. As our work on this blog progresses, we recognize that the mathematical elegance is sometimes inherently manifested within the code itself. So while the code behind RSA encryption may be straightforward, anticipated search methods (like branch and bound, which we may use in search of an optimal stacking) relies heavily on knowledge of data structures and optimization.

For this reason, we present the start of a series on programming primers. This will consist of two general areas. First, we will investigate general programming concepts, such as data structures and functional programming. Second, we will provide introductory tutorials on a number of programming languages. In particular, we will provide primers on Mathematica, Java, Python, and Racket. In the case that we use C or C++ for want of lightning-fast speed, we will include a primer for it; however, we prefer to stay out of that jungle if we can avoid it.

Of course, we will still provide regular content in between primers. We just don’t want the pure mathematicians to feel left out. So keep an eye out for our first programming primer, which will cover basic concepts!