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