Introduction to Programming with Mathematica, Third Edition

Chapter 10: Front End Programming

In this chapter we extend the programming concepts we have covered thus far to the objects that comprise the user interface, or front end. Because the objects that the Mathematica user interacts with are themselves Mathematica expressions, all of the tools that you use to do computations can also be used to create, manipulate, and alter cells and notebooks themselves. We will first look at the underlying structure of these objects and then discuss ways of manipulating them directly from within Mathematica.

10.1 Introduction

Up until this point, we have been primarily concerned with learning about programming constructs and styles so that we can write programs to manipulate data or solve problems from science, engineering, or mathematics. We have taken for granted that the space in which we do our experimenting, prototyping, and documenting has been the Mathematica notebook, an interface that has some similarities to a word processor document.

It is not uncommon now to add interactive elements to your documents to make them more useful for yourself or the intended reader of your documents. With programs, documentation, and papers all being created and used in electronic format, Mathematica provides a seamless and well-integrated interface to these elements.

Another tool that is useful, especially for educators, are buttons that allow you to hide your program code behind a familiar and easy-to-use interface element - the button. The user clicks on a button and an action happens that is determined by the underlying code. For example,...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Programming Languages
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.