This is documentation for Mathematica 5, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

Documentation / Mathematica / Add-ons & Links / Wolfram Research Products / Wolfram Education Training /

Wolfram Education Training

M220: Programming in Mathematica

This course emphasizes program structure as well as functional and rule-based programming. These styles of programming are compared to more traditional procedural programming to help students understand and use Mathematica's unique features to their advantage. In the course students learn how to develop applications, large and small in a systematic manner and how to solve particular problems more efficiently by choosing the appropriate programming paradigm. The course includes practical hands-on exercises to help students understand the material and to provide a focused and practical learning experience.

The course is intended for Mathematica users who wish to solve problems in their own areas of application and to harness the full power of Mathematica by combining its many built-in features in new ways.


Introduction: a review of fundamental data types, rules, and definitions; discussion of various programming styles and the differences between Mathematica and traditional programming languages

Patterns and Rules: a treatment of rule-based programming which is fundamental to Mathematica's design; discussion of Mathematica's evaluator

Functional Programming: functions as objects, iteration and recursion, and elegant programs

Procedural Programming: a presentation of the more traditional programming features such as loops, iterators, and conditionals

Data Types: concepts and design of data types, operators, and overloading

Program Design: a discussion of the software engineering aspects of program development in Mathematica, package design, and localization of data

Special Topics: a look at various more advanced techniques for writing better programs such as dynamic programming, defaults, efficiency, and error messages

Outlook: a discussion of existing programs, literature, and topics of interest

All Wolfram Education Group offerings are "hands-on" interactive courses and are taught by certified instructors in a professional computer classroom environment.

For more information: