Wolfram ResearchProductsPurchasingServices & ResourcesAbout UsOur Sites
Wolfram Education Group Services & Resources
-----
 /
Wolfram Education Group
*Training Calendar and Registration
*Course and Mini-Course Descriptions
*M50: An Introduction to Mathematica in the Classroom
*M100: An Introduction to Mathematica
*M101: A First Course in Mathematica
*M102: Project Session
<M221: Introduction to Programming in Mathematica
*M245: Parallel Computation
*M310: Digital Image Processing
*M330: Neural Networks
*M185: Numerical Computation in Mathematica
*M195: Authoring in Mathematica
*M205: Visualization and Dynamic Interactivity
*M215: Applied Statistical Analysis with Mathematica
*M225: Grid Computing with Mathematica
*M235: Mathematica Development using Wolfram Workbench
*M455: An Introduction to Web Services with Mathematica
*Free Seminars
*Bring Your Own Laptop
*Online Training Information
*Scheduling Policy Information
*About Wolfram Education Group
*Q&A
*Education Benefits Program
*What Attendees Are Saying
*Courseware Developer Program
*Certified Instructor Program
*Meet the Instructors
*Onsite Training at Your Location
*Contact Wolfram Education Group
*Wolfram Library Archive
*Wolfram Research Calendar of Events
*Ask about this page
*Print this page
*Email this page
*Give us feedback
*
Sign up for our newsletter:

Course Description:
M221: Introduction to Programming in Mathematica


Note: This course was formerly "M220: Programming in Mathematica."

Course Objective
This one-day course presents an introduction to Mathematica programming that enables attendees to develop their own programs to extend Mathematica's capabilities.

Course Summary
This course emphasizes program structure as well as functional and rule-based programming, which is compared to more traditional procedural programming, to help attendees understand and use Mathematica's unique features to their advantage. In the course attendees learn how to solve particular problems more efficiently by choosing the appropriate programming paradigm. The course includes many practical examples and hands-on exercises to help attendees understand the material and to provide a focused and practical learning experience.

Presenter
The course is presented by a Wolfram Education Group certified instructor.

Target Audience
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.

Delivery Type
Courses are delivered as instructor-led classes in computer classroom facilities or as online classes delivered over the web. Course topics are presented with alternating sessions of lectures and exercises.

Syllabus
The course is organized into the following segments. Additional topics of interest are covered as time permits. In addition, surveys of further resources are given.

Introduction
An introduction to programming in Mathematica; discussion of various programming styles; differences between Mathematica and traditional programming languages; structure and syntax of expressions; analyzing expressions

Rules and Patterns
Creating and working with definitions; patterns and pattern matching; conditional patterns; predicates; transfomation and replacement rules; the Mathematica evaluator

Functional Programming
Functional constructs Map, Apply, and Thread; working with levels in expressions; pure functions; operations on lists; iteration

Mathematica for Procedural Programmers
A presentation of the more traditional programming features such as loops, iterators, scoping and localization, arrays vs. lists, and conditionals

Writing Programs
Discussion of writing larger programs, including default and optional arguments, argument checking, error messages, and usage messages

Optimizing Programs
Example-driven discussion of how to make your Mathematica programs as efficient and fast as possible; looping vs. functional approaches; listability; list component assignment; using pure functions vs. traditional definitions; dynamic programming; compiling your programs; efficiency principles

Course Materials
Each attendee will be provided with Mathematica course notebooks and access to the current version of Mathematica. The course notebooks require Mathematica or Mathematica Player. For attendees participating in classroom-based sessions, course materials are distributed in print and on CD-ROM, and are yours to keep; a computer running Mathematica is available for your use during class. For attendees participating in online classes, a download of the course materials is provided; a temporary Mathematica training license is provided upon request.

Prerequisites
Course attendees are expected to have basic familiarity with Mathematica approximately equivalent to that provided by "M101: A First Course in Mathematica." Experience with computer programming at the level of an introductory course in any computer programming language is also helpful.

To sign up for this course, see the training calendar and registration page.



 © 2008 Wolfram Research, Inc.  Terms of Use  Privacy Policy