An Introduction to Programming with Mathematica